ios - Xcode 8.0 上的错误,或未加载框架(红色)?

标签 ios xcode frameworks cocoapods alamofire

TL;博士 :Foundation.framework 在执行 pod install 后显示为红色。这是通过在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 上创建一个 iPhoneOS9.3.SDK 文件夹来解决的,但由此产生了另一个错误。

我有 Xcode 8.0 (8A218a),我正在尝试通过 Cocoapods 1.1.0.rc.2 (pre) 使用 Alamofire 库。
当 Xcode 8 仍处于 Beta 版时,我也遇到了同样的问题,经过一些尝试后,我还没有弄清楚如何解决它。

基本上,我成功初始化并安装了 Alamofire pod,我可以将 Alamofire 和 Foundation 导入我的项目并运行它或构建到我的设备中,您可以在下面看到:
Importing

但是有一点让我很不爽:在 Pods/Frameworks/iOS 上,Foundation.framework 文件总是以红色显示......你可以在这里看到:
enter image description here

首先,我不明白为什么它显示为红色,因为我可以导入 Foundation 并构建应用程序...您认为这是一个错误还是我需要修复的问题?

在尝试修复它时,我在互联网上搜索了它,我尝试了最常见的解决方案,例如:pod 更新、删除所有 pod 文件并重新安装 pod、更改 Xcode 开发人员路径、更新到最新版本的 Xcode 和 Cocoapods,我什至对我的 Mac 进行了硬重置,但似乎没有任何效果......

正如你在第一张图片中注意到的,当 Foundation.framework 被选中时,我们可以看到路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ iPhoneOS9.3.SDK /... 通过进入该目录,我可以检查我没有 iPhoneOS9.3.SDK 的文件夹,只有 iPhoneOS.sdk 和 iPhoneOS10.sdk,如下所示:
SDKs folder

这时我想:我只需要复制 iPhoneOS10.sdk 并将名称更改为 iPhoneOS9.3.sdk。我这样做了,事实上,当我打开项目时,框架不再是红色的,你可以在下面看到。
但是,执行此操作后,我无法再将应用程序构建到设备中,出现此错误:
error

我觉得我已经尝试了大部分方法,但都没有帮助,我要么得到一个红色框架,允许我将项目构建到我的设备中,要么得到一个不允许我构建到的适当框架我的设备...
你知道我如何解决这个问题,还是我应该忽略它并使用红色的 Foundation.framework ?

您可以找到项目here和一个带有错误 here 的 Gist 文件.

提前致谢!

最佳答案

我认为在任何情况下都不应该更改 SDK 文件夹的名称,因为它与 IDE 有密切的联系。
我刚才遇到了同样的问题。通过更改“红色框架”的路径解决了。因为路径之前显示“SDK IOS9”。所以我将框架位置设置为“相对于SDK”并手动选择正确的框架位置。它暂时起作用。

enter image description here

我想原因是我更新到了 Xcode 8,但是我的 coacopods 仍然是旧版本,所以它用 IOS9 设置了导致这个问题的位置。

关于ios - Xcode 8.0 上的错误,或未加载框架(红色)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39550259/

相关文章:

java - 从 Objective-C 到 Swift Base64 和 HMACSHA1

ios - 为什么我在 IOS 上得到 Mapboxgl api 的空白页?

objective-c - 如果对象respondsTo仍然抛出警告

ios - Xcode 找不到框架

ios - 格式错误或损坏的 AST 文件

html - 电子邮件 html 框架? (又名电子邮件 Bootstrap )

ios - UIToolbar 的自定义 UIBarButtonItem

ios - 表达式从 'UIView?' 隐式强制转换为 Any - 如何在源代码中查找行

iOS:如何将数据传递给applicationDidFinishLaunching:?

swift - 将类从 Playground 页面导入到另一个页面