所以我有以下问题:
在我的 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,其中包含 NSNetService 类,该类从 iOS 2.0 开始可用。
使用 NSClassFromString(@"NSNetService") 并不是我真正喜欢的解决方案。我也不知道,为什么会出现这个错误,因为类 NSNetService 应该在 iOS 6 中可用。它可能是设备吗?
我搜索并发现,将框架设置为可选,将解决这个问题。但问题是,当我在 iOS 6 上运行应用程序时,我无法使用该框架。当我这样做时
if ([NSNetService class] == nil) {
NSLog(@"NSNetService is nil");
}
我得到打印 NSNetService 为零。
是否可以在不崩溃且不将框架设置为可选的情况下启动应用程序
谢谢 iComputerfreak