首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dyld:符号未找到:_OBJC_CLASS_$_NSNetService错误

dyld:符号未找到:_OBJC_CLASS_$_NSNetService错误
EN

Stack Overflow用户
提问于 2014-06-10 14:00:26
回答 1查看 4.2K关注 0票数 6

因此,我有以下问题:

在我的iOS 5上的iPhone 8上启动我的应用程序,没有错误,但是在iPhone 3GS上的iOS 6.1.3上启动我的应用程序,我得到了以下错误:

代码语言:javascript
复制
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上运行应用程序时,我不能使用框架。

代码语言:javascript
复制
if ([NSNetService class] == nil) {
    NSLog(@"NSNetService is nil");
}

我被印了NSNetService是零。

是否可以在不崩溃和不将框架设置为可选的情况下启动应用程序?

谢谢iComputerfreak

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-23 14:30:01

尝试重新添加Foundation.framework:

  1. 找到你项目的目标
  2. 选择"General“选项卡
  3. 在“链接框架a库”下查找Foundation.framework,选择它并按按钮处的减号('-')以删除此框架。
  4. 现在按加号('+')并搜索Foundation.framework -重新添加它,它应该修复您的崩溃。

希望能成功-对我来说是这样的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24143003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档