在我的应用程序中,我使用带有资源目标的静态库,我已将资源目标连接到Build Phases -> Copy Bundle Resources
,并且我获取了这样的库资源:
NSUrl *resourcesUrl = [[NSBundle mainBundle] URLForResource:@"MySDKResources" withExtension:@"bundle"]
NSBundle *bundle = [NSBundle bundleWithURL:resourcesUrl];
NSString *path = [bundle pathForResource:filename ofType:fileExtension];
使用监视扩展,当应用程序收到func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void)
委托时,我使用相同的代码,但这一次
在同一个会话中,当其中一个应用程序类调用此代码文件时,路径返回正常但是当监视扩展委托调用相同的代码时,它返回nil
我尝试将静态库添加到Target Dependencies
和Compile Sources
并将资源目标添加到Copy Bundle Resources
,但我得到没有这样的文件或目录错误
答案 0 :(得分:1)
好的,事实证明,当你运行手表模拟器它会杀死iPhone模拟器上的应用程序(但不会崩溃它)所以它看起来像应用程序运行,但实际上你无法实例化bundle或任何其他应用程序资源。 this blog post解释了如何在调试时一起运行应用程序和监视应用程序。
TL; DR:
在Xcode菜单栏上的模拟器上运行代码时选择Debug - > 附加到流程 - >从列表中选择iOS应用程序的进程 (它可能属于可能的目标)