30

所以一切都很好,然后我决定开始在 XCode 5 DP3 和 iOS7 上开发

在升级之前,我的项目在我的 iPhone 3GS 上编译并运行良好(我做了一个小软件电话应用程序);但是,它不能在我的 iPhone 5 上运行;我非常有信心,因为我还没有将它配置为包含 armv7s 架构。

我可以在模拟器上构建和运行一切都很好,但是(这是在配置应用程序以包含 armv7s 架构之后)我无法让它在我的任何设备上运行。

我收到此错误:

ld: framework not found IOKit
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我什至不确定如何使用 -v 来查看调用。我读到了一些 IOKit 仅适用于模拟器的地方......这是否意味着我应该在我的设备上构建时将其从我的库中取消链接?为什么我之前在我的 3gs 上工作时没有收到这个错误?

我对为什么它不再适用于我的 3gs(尽管错误是相同的)的假设是它是 iOS 6,并且 SDK 可能只支持 iOS 7(我的 iPhone 5 目前是)。

4

5 回答 5

50

最好的办法是在 Apple 发布修复程序之前这样做。

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/IOKit.framework
sudo ln -s Versions/A/IOKit .
于 2013-10-05T18:14:30.857 回答
10

我有同样的问题,但我通过IOKit.framework在 Xcode 4.6.3 中修复它,右键单击它,然后选择“在 Finder 中显示”。我只是将它复制到 Xcode 5 下的相同相对位置。

于 2013-07-12T22:05:59.257 回答
9

Xcode 版本 5.1.1 (5B1008)

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/IOKit.framework 
sudo ln -s Versions/A/IOKit .
于 2014-05-14T09:02:03.967 回答
3

要在不回滚 Xcode 软件的情况下解决此问题,您可以通过在终端中输入以下命令来添加缺少的 IOKit.framework 符号链接:

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/IOKit.framework

须藤 ln -s 版本/A/IOKit 。# <- 不要忘记点!

执行 cd 操作时请务必输入整个目录地址,因为终端通常不会喜欢您将目录更改为 .app 文件。

希望这能解决您的问题!

于 2013-10-30T19:57:11.113 回答
1

iPhoneOS10.2.sdk

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/IOKit.framework

须藤 ln -s 版本/A/IOKit 。

于 2017-08-21T10:38:05.310 回答