天道酬勤,学无止境

watchos

阻止 WorkoutSession 更新活动环(prevent WorkoutSession to update Activity ring)

问题 我正在开发一个苹果手表应用程序(WatchOs4)。 我有兴趣监测心率,所以我使用 WorkoutSession 来获取持续的数据更新。 问题是:当我开始锻炼时,它会自动更新手表上活动环的锻炼环。 由于它不是一个运动应用程序,我想防止这种情况发生。 有没有人有解决方案? 回答1 请查看 https://developer.apple.com/documentation/healthkit/hkworkoutsession 填充戒指部分。 将您的锻炼设置为以下活动之一:跑步、步行、骑自行车、爬楼梯、椭圆机和划船活动,这些活动提供定制的卡路里计算。 因此,如果您不移动,则不会对戒指做出任何贡献。 仅供参考,我只尝试过室内步行。 回答2 我刚刚发现,如果您暂停锻炼,仍会收集心率,但不会收集卡路里和锻炼分钟数。 session.startActivity(with: Date()) session.pause() builder.beginCollection(withStart: Date()) { (success, error) in guard success else { // Handle this return } } 这真的很容易。 数月试图弄清楚这一点,互联网没有答案。 请注意,从技术上讲,健康应用程序仍会显示正在收集的卡路里,但它似乎只有每小时 15-20 卡路里

2022-01-15 06:39:02    分类:技术分享    watchkit   healthkit   watchos

错误 ITMS-90168:“您上传的二进制文件无效。”(Error ITMS-90168: "The binary you uploaded was invalid.")

问题 我正在尝试将应用程序上传到 App Store。 它包含一个 watchOS 2 应用程序、watchOS“1”扩展和一些 iOS 扩展。 我无法弄清楚为什么会这样。 当我使用 Xcode 7 的“上传到 App Store...”功能(或使用 Application Loader)时,我收到消息“归档提交失败并出现错误:”错误为“ERROR ITMS-90168:'您上传的二进制文件是无效的。'” 有没有其他人遇到过这个问题? 有什么建议? 回答1 因为您已经将另一个应用程序版本上传到商店,所以现在您需要创建一个新版本并上传。 回答2 当应用程序的测试飞行中存在与其他构建同名的应用程序扩展时,可能会出现问题。 如果您遇到此问题,您可以尝试重命名其中一个,以便它们具有不同的名称。 可能有可能,我们得到了解决方案。 回答3 你远不是一个人在这里。 https://forums.developer.apple.com/search.jspa?q=90168 看起来像是某种 Xcode 问题,因为数百人遇到了同样的错误。 我想我们必须等待 Xcode 补丁来解决这个问题。 回答4 我试图使用应用程序加载器提交,但在 3.0 或 3.1 版本中没有成功。 然后我下载了只能用xcode下载的最新版本(3.6),几个小时后我成功了。

2022-01-13 08:31:20    分类:技术分享    ios   xcode   app-store-connect   watchos

prevent WorkoutSession to update Activity ring

I'm developing an apple watch application (WatchOs4). I'm interested to monitor heart rate, so I'm using a WorkoutSession to get continuous data updates. The problem is : when I start a workout session, it will automatically update the exercise ring of the Activity Rings on the watch. As it's not a sport app, I would like to prevent that. Does anyone have a solution for that ?

2022-01-13 04:26:01    分类:问答    watchkit   healthkit   watchos

Error ITMS-90168: "The binary you uploaded was invalid."

I am trying to upload an application to the App Store. It contains a watchOS 2 app, watchOS "1" extension, and a few iOS extensions. I cannot figure out why this is happening. When I use the "Upload to App Store…" feature of Xcode 7 (or use Application Loader), I get the message "Archive submission failed with errors:" with the error being "ERROR ITMS-90168: 'The binary you uploaded was invalid.'" Has anyone else run into this issue? Any suggestions?

2022-01-08 16:44:56    分类:问答    ios   xcode   app-store-connect   watchos

SwiftUI 切换开关(SwiftUI toggle switches)

问题 我正在尝试实现一个简单的切换开关,但是我无法保存新的切换/开关状态,因为当我更改视图并返回设置时,它默认为关闭开关。 你能告诉我我做错了什么吗? struct StudyMode: View { @State private var overdueFirst = UserDefaults.standard.bool(forKey: "Overdue First") @EnvironmentObject var settings: UserSettings var body: some View { VStack { HStack { Toggle(isOn: $overdueFirst) { Text("Overdue cards first") } .onTapGesture { var newSwitch = false if self.overdueFirst == false { newSwitch = true } UserDefaults.standard.set(newSwitch, forKey: "Overdue First") } } Spacer() Text("By enabling this option, the cards will be ordered such that you will revise all overdue cards

2021-12-23 20:53:30    分类:技术分享    swiftui   watchos

WatchOS 应用未检测到配套的 iOS 应用(WatchOS app not detecting companion iOS app)

问题 我正在制作一个独立的 Apple Watch 应用程序(但有一个配套的 iPhone 应用程序,它不是手表应用程序运行所必需的。) 如果安装了 iPhone 配套应用程序,该应用程序使用WatchConnectivity在设备之间同步数据。 我可以在 iOS 应用程序上调用session.updateApplicationContext()并在 Watch 应用程序上接收session(didReceiveApplicationContext) 。 但走另一条路是不可能的。 我总是收到 7018 的 NSError 代码,这意味着未安装 iOS 配套应用程序。 我已经确保 watchOS 和 iOS 应用程序都安装在模拟器中(并在我的实际设备 iPhone 11 和 Watch series 5 上进行了测试。)但是从 watchOS -> iOS 得到相同的失败结果。 我注意到有一个新的WCSession实例变量可用于 watchOS 6.0+ isCompanionAppInstalled 。 当我在手表应用程序上激活 WCSession 后读取此变量时,它始终返回 false。 还有什么我需要注意的吗? 我在想,也许我在所有不同的 info.plist 中做错了什么。 但我已经检查了很多次。 我的 info.plist 文件: 在我的手表应用中:

2021-12-23 20:16:35    分类:技术分享    ios   swift   watchkit   watchos   watchconnectivity

在 Apple Watch Simulator(xCode 8、Swift 3、iOS 10)上的 watchOS 中运行 SpriteKit 游戏 - libswiftSwiftOnoneSupport 错误(Running SpriteKit Game in watchOS on Apple Watch Simulator (xCode 8, Swift 3, iOS 10) - libswiftSwiftOnoneSupport Error)

问题 我下载了xCode 8.0 beta并打开了一个最近用swift 2编写的项目,然后我使用 xCode 将其转换为swift 3 。 然后我将watchOS目标添加到我的项目中,设置为“game” 文件 > 新建 > 目标: 我检查了WatchExtension的 GameScene.swift 并确定所有代码都在那里并设置了一个场景: import SpriteKit class GameScene: SKScene { private var spinnyNode : SKShapeNode? override func sceneDidLoad() { if let label = self.childNode(withName: "//helloLabel") as? SKLabelNode { label.alpha = 0.0 label.run(SKAction.fadeIn(withDuration: 2.0)) } let w = (self.size.width + self.size.height) * 0.05 let spinnyNode = SKShapeNode(rectOf: CGSize(width: w, height: w), cornerRadius: w * 0.3) spinnyNode.position = CGPoint(x

2021-12-21 15:49:22    分类:技术分享    xcode   swift   sprite-kit   apple-watch   watchos

Running SpriteKit Game in watchOS on Apple Watch Simulator (xCode 8, Swift 3, iOS 10) - libswiftSwiftOnoneSupport Error

I downloaded xCode 8.0 beta and opened a recent project written in swift 2 which I then converted to swift 3 using xCode. I then added a watchOS target to my project with the setting "game" File > New > Target: I checked the GameScene.swift in the WatchExtension and sure enough all the code is there and sets up a scene: import SpriteKit class GameScene: SKScene { private var spinnyNode : SKShapeNode? override func sceneDidLoad() { if let label = self.childNode(withName: "//helloLabel") as? SKLabelNode { label.alpha = 0.0 label.run(SKAction.fadeIn(withDuration: 2.0)) } let w = (self.size.width

2021-12-13 07:30:16    分类:问答    xcode   swift   sprite-kit   apple-watch   watchos

无效的 Swift 支持 - SwiftSupport 文件夹为空(Invalid Swift Support - The SwiftSupport folder is empty)

问题 我的构建已成功上传,但由于 Apple 发送的以下问题未在 testflight 上显示。 应用程序详细信息:我有 React Native 的 iPhone 应用程序和 swift 语言的 watchOS 应用程序。 Xcode 版本:11.3 苹果报告的问题 - ITMS-XXXX:无效的 Swift 支持 - SwiftSupport 文件夹为空。 使用当前公共 (GM) 版本的 Xcode 重建您的应用程序并重新提交。 我搜索并尝试了很多东西,但没有任何效果。 也试过下面的链接 缺少 SwiftSupport 文件夹。 使用当前公共 (GM) 版本的 Xcode 重建您的应用程序并重新提交 https://forums.developer.apple.com/thread/125902 “嵌入的内容包含 Swift 代码”设置为是 我的查询的更新答案:我通过在 Swift Support 的 watchOS 文件夹中添加所需的框架解决了这个问题。 可能是它的 Xcode 问题,它正在为我的 watchOS 创建空文件夹。 遵循以下步骤 从此路径复制 watchOS lib swift 文件“ /Applications/Xcode.app/Contents/Developer/ToolChains/XcodeDefault.xctoolchain/usr/lib

2021-12-05 08:58:53    分类:技术分享    swift   react-native   watchkit   testflight   watchos

WatchOS app not detecting companion iOS app

I am making an independent Apple Watch app (but with a companion iPhone app which is not necessary for the watch app to function.) The app uses WatchConnectivity to sync data between devices if iPhone companion app is installed. I am able to call session.updateApplicationContext() on the iOS app and receive session(didReceiveApplicationContext) on the Watch app. But going the other way is not possible. I always get an NSError code of 7018 which means the iOS companion app is not installed. I have made sure both watchOS and iOS app are installed in simulator (and tested on my actual devices

2021-11-28 11:06:20    分类:问答    ios   swift   watchkit   watchos   watchconnectivity