Tag: 苹果手表

WatchOS 2应用程序无法在装有dyld_fatal_error的设备上启动,而我的Framework Library未加载:未find图像

我刚刚遵循苹果转换指南将我的ObjectiveC应用程序升级到WatchOS 2 https://developer.apple.com/library/watchos/documentation/General/Conceptual/AppleWatch2TransitionGuide/ConfiguretheXcodeProject.html 在“iOS应用程序和watchOS应用程序之间共享代码”一节中,描述了如何将现有的iOS框架复制到WatchOS使用的WatchOS框架目标中,如下所示。 “如果你已经有一个与你的iOS应用程序共享框架的watchOS 1应用程序,请复制你的iOS框架目标并修改它以支持watchOS 2。 复制和configuration您的watchOS 2的框架目标 打开Xcode的项目编辑器窗格。 (窗格通常是closures的。) 按住Control键单击目标以使用“重复”命令显示上下文菜单。 更改目标的名称,以便以后可以轻松识别。 在“生成设置”中,更改以下值: 将支持的平台设置更改为watchOS。 将Base SDK设置更改为最新的watchOS。 更改产品名称设置,使其与您的iOS框架的名称相匹配。 你希望两个框架都用相同的名字来构build。 将框架添加到WatchKit扩展的链接框架列表中。“ 我已经按照这些步骤克隆了我的框架,其中iOS框架被称为MyFramework,现在新的WatchOS框架被称为MyFrameworkWatch。 但是如上所述,产品名称被设置为MyFramework而不是MyFrameworkWatch。 我认为这个命名的转变是我可以从我的框架使用包括 #import <MyFramework/SharedUtils.h> 而不是想必不得不改变它 #import <MyFrameworkWatch/SharedUtils.h> 我不介意后者,但我会承认它更好的保持框架名称相同。 在经过了最初的自动转换之后,我设法让我的应用程序在模拟器上工作得非常好,但是现在切换到设备,我无法启动它。 在设备上启动我的应用程序导致它旋转几秒钟,然后就崩溃了。 启动一下就会导致它无限期地旋转。 试图运行它从Xcode和运行应用程序导致应用程序最终启动和旋转,旋转可以无限期地持续有时,但最终它通过,我得到的实际错误报告如下 dyld_fatal_error – dyld: Library not loaded: @rpath/MyFramework.framework/MyFramework referenced from WatchKit Extension Reason: image not found 所以这是我的Watch App Extension尝试链接到Watch框架,并且这样做是为了查找MyFramework名称,而不是MyFrameworkWatch名称。 我不知道这个名字的冲突是否使它感到困惑? 当我尝试find在Xcode中的Products文件夹下引用的框架时,我可以看到两个框架 MyFramework MyFramework […]

如何获得Apple Watch硬件标识符?

这个页面http://theiphonewiki.com/wiki/Models似乎build议新的苹果手表的标识符是“Watch 1,1”和“Watch 1,2” 有谁知道如何获得这个标识符在一个连接手表的代码? [WKInterfaceDevice currentDevice]似乎只给我屏幕界限。

Apple Watch:一个Watchkit应用程序可以与多个iOS应用程序通信吗?

我想写一个Watchkit应用程序,可以与多个iPhone应用程序进行通信。 例如,我们称这个Watchkit应用程序为“PingPong”。 它所做的就是设置一个观察者,并响应请求 – 类似于ICMP ping请求。 所以,当应用程序向手表发送“PING”时,PingPong Watchkit应用程序以“PONG”响应。 我如何使这个function可以访问多个应用程序? 换句话说,我想公开这个非常简单的界面,以便不同的应用程序可以使用它。 请注意,文档状态,“你必须有一个现有的iOS应用程序来创build一个WatchKit应用程序。WatchKit应用程序被实现为您的Xcode项目的一个单独的目标,并在您的iOS应用程序包内build立和打包… Xcodeconfiguration目标为您的WatchKit应用程序和WatchKit扩展添加所需的文件到你的iOS项目,这两个新目标的包ID是根据你的iOS应用程序的包ID自动configuration的,所有三个包的基本ID必须匹配;如果你更改iOS应用程序的包ID,则必须相应地更新其他包ID。 https://developer.apple.com/library/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/ConfiguringYourXcodeProject.html#//apple_ref/doc/uid/TP40014969-CH2-SW1 这意味着iOS扩展应用程序和watchkit应用程序之间存在一对一的关系。 意义? Watchkit应用程序基本上是沙盒,这是不可能的。 但是问问不了什么。 这就是为了什么,对吧? :P Thx,Keith 🙂

通过Watch OS2拨打电话

使用Watch OS 2可以从手表开始通话吗? 我在我的手表OS2应用程序中有一个button,我需要一种方法来开始从手表预编译号码的呼叫或至less开始在iPhone中的呼叫。 谢谢

与Watch Connectivity的updateApplicationContext共享访问令牌是否安全?

applicationContext是否被encryption? 还是只是存储为一个未encryption的plist文件? 因为如果是后者,我不应该使用它来传输访问令牌。

可能为Apple Watch创build表盘?

我已经通过互联网search,仍然找不到正式的答案。 我可以看到我可以制作一些一览无余的场景,但是那些在实际表盘下面的用户是“隐藏”的。 开发者是否允许发布表盘?

更改Apple Watch App的应用程序ID

我最近将一些我的应用程序从一个帐户转移到另一个帐户。 当我这样做的时候,App ID也被转移了。 但是,应用程序ID不会传输WatchKit应用程序或WatchKit扩展。 我试图上传,上传完成后,出现在iTunes Connect Prerelease中,我收到一封关于CFBundleIdentifier Collision的电子邮件。 然后,我尝试更改Apple Watch应用程序的App ID,并在上传时看到此错误: Attempting to change bundle identifier from com.domain.myapp.watchkitapp to com.domain.myapp.watchkitapp2 is disallowed for bundle MyApp.app/PlugIns/MyApp WatchKit Extension.appex/MyApp WatchKit App.app. 你有什么build议吗? 谢谢

parsing和watchkit扩展

我正在构build一个使用WatchKit的应用程序,并希望用PFObject中的数据填充表中的数据,但是出现此错误: 终止应用程序由于未捕获的exception“NSInvalidUnarchiveOperationException”,原因:“此解码器将只解码采用NSSecureCoding的类。 类“PFObject”不采用它。 与此帖有同样的问题

Apple Watch预生成操作以更改storyboard customModule引用

我目前有一个项目与3个不同版本的相同的应用程序(不同的品牌等),这是工作得很好。 从那以后,我添加了3个新的苹果手表目标(每个应用“版本”1个),其中2个参考“主”Apple Watch目标中的文件。 只要我记得更改每个故事板视图的模块引用,就可以正常工作,以便它映射到相应的watchkit扩展目标中正确的接口控制器。 但是,记住每次需要运行/构build应用程序版本/目标时切换这是一个痛苦,而不是一个真正的长期解决scheme。 我创build了下面的命令,我想要在正确的时间运行,以便在编译前更改故事板引用。 perl -pi.bak -e 's/customModule=\"(.*?)\">/customModule=\"watchMyTarget_Extension\">/g' ${SRCROOT}/watch/Base.lproj/Interface.storyboard 我也得出结论,我可能会想在应用程序编译后重置更改,因为我不想有一个文件更改为git抱怨。 这就是为什么上述脚本创build一个.bak文件。 所以编译完成后打包/运行在设备上或者其他的东西,我想运行 mv ${SRCROOT}/watch/Base.lproj/Interface.storyboard.bak ${SRCROOT}/watch/Base.lproj/Interface.storyboard 我已经尝试将脚本放置在目标(watchTarget,而不是appTarget)构buildscheme中,Build- Build->Pre/Post Actions似乎没有任何效果。 我试着把它放在Run->Pre/Post Actions ,这在一定程度上起作用,但是好像在应用程序被推到模拟器之前踢了一个后置动作,从而导致应用程序崩溃(“无法运行查看设备日志”或类似的东西)。 那么我需要把这些脚本放在构build过程中的正确时间吗?

如何在手表上testing不同的字体大小(dynamictypes)?

苹果手表支持dynamictypes (例如通过使用文本样式,如正文或脚注)。 假设我有使用这些自定义文本样式的标签,如何在模拟器上testing它们的行为? 在iPhone模拟器上,我可以启动“设置”>“常规”>“较大文本”,然后调整滑块以查看应用程序的外观,这取决于不同的字体大小。 我怎样才能在模拟器上运行我的Apple Watch应用程序?