使用WatchKit,您的应用程序可以在手机上运行,而手表应用程序以扩展模式运行。iOS WatchKit - 如何确定您的代码是在手表扩展模块还是应用程序中运行
如果您创建的库包含用于手机应用程序和手表扩展中的通用代码,是否有方法可以确定代码是在手机应用程序还是手表扩展中运行?
I.e.
if ([self isRunningInWatchExtension]) {
NSLog(@"this is running on watch");
} else {
NSLog(@"this is running on phone app");
}
- (BOOL)isRunningInWatchExtension {
???
}
这适用于所问的问题。我没有正确地说出正确的问题来满足我的需求。在我的情况下,我正在开发一个可供其他应用程序使用的库,可用于手表扩展和主应用程序。我不能依赖包标识符,因为开发者可以根据需要命名它们。 – 2015-03-31 22:01:47
也许是检查一个独特的类是否存在的东西?像'BOOL isExtension =(NSClassFromString(@“WKInterfaceDevice”)!= nil);' – 2015-04-01 04:39:25