Apple最近要求我将我的iPhone升级到最新的iOS版本(11.2),并且像往常一样,Xcode拒绝连接到它,除非我升级Xcode,当然,如果我升级了Xcode,我只能这样做Mac OS版本。
所以,在浪费了半天下载和安装更新之后,我现在使用的是Xcode 9.2,而我之前构建得非常漂亮的代码无法构建错误:
ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/
Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk/
Developer/Library/Frameworks'
(注意:我自己在该文件夹路径中添加了空格,以使其在此处可读。)
但错误信息是真的。
如果我尝试进入该文件夹,我可以访问 iPhoneOS11.2.sdk 文件夹,然后其中没有开发者子文件夹。
我已经搜索了这个问题,很多人建议您查看“图书馆搜索路径”和“框架搜索路径”设置...但在我的情况下,这两个都是空白的。我的构建设置中没有指定任何文件夹。
有趣的是,在上面的截图中,我注意到系统文件夹确实有一个 Library \ Frameworks 子文件夹,所以(绝望之外)我复制了系统文件夹到名为开发者的文件夹中。
可笑的是,这似乎解决了这个问题,但我肯定在这里遗漏了一些东西......
有没有其他人遇到此问题,特别是在升级Xcode之后?
对文件夹结构进行此更改后,我还有另外一个错误。 Xcode现在抱怨说:
embedded dylibs/frameworks are only supported on iOS 8.0 and later
同样,在我升级Xcode之前没有出现此错误,但修复是在我的“Project”构建设置和每个Target构建设置中更改iOS部署目标。
Xcode的真正含义是我不想要/需要任何新的iOS 11功能。这是一个遗留的内部应用程序,我们自iOS 7以来一直在使用。在Xcode更新之后,这些东西应该只是构建,但是每次发布时,我们都会遇到新的问题,如同这里突出显示的那些。
这个Xcode的东西真的太糟糕了......我现在可以回到温暖舒适的微软环境......?
答案 0 :(得分:0)
You can use your old Xcode to support 11.2
To support you need to run below command:
sudo ln -s PATH_OF_NEW_XCODE_DEVICESupport_TO_11.2 PATH_OF_EXISTING_XCODE_DEVICESupport
Example:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.0 /Applications/Xcode821.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport