我有以下问题:
在我的iPhone 5s上使用iOS 8启动我的应用程序时,没有错误,但是在我的iPhone 3GS上使用iOS 6.1.3启动我的应用程序时,我会遇到这个错误:
dyld: Symbol not found: _OBJC_CLASS_$_NSNetService
Referenced from: /var/mobile/Applications/567E221A-FC5C-4011-90AD-E47E5FF033B1/BellyClient.app/BellyClient
Expected in: /System/Library/Frameworks/CFNetwork.framework/CFNetwork
in /var/mobile/Applications/567E221A-FC5C-4011-90AD-E47E5FF033B1/BellyClient.app/BellyClient
我导入了一个名为Server的类。该类使用CFNetwork.framework,其中包含自iOS 2.0以来可用的NSNetService类。
使用NSClassFromString(@“NSNetService”)不是我喜欢的解决方案。 我也不知道为什么会出现这个错误,因为NSNetService类应该在iOS 6中可用。 这可能是设备的问题吗?
我搜索并发现,将框架设置为Optional将解决此问题。 但问题是,当我在iOS 6上运行应用程序时,我无法使用该框架。 当我这样做时
if ([NSNetService class] == nil) {
NSLog(@"NSNetService is nil");
}
我收到了“打印的NSNetService为空”的信息。
是否可能在不将框架设置为可选的情况下启动应用程序,而不会崩溃。
谢谢iComputerfreak。