ios - Xcode 7 警告 : object file was built for newer iOS version than being linked

标签 ios objective-c xcode7 xcode7-beta4

我最近将 Google Cloud Messaging 集成到了一个针对 iOS 7 和 iOS 8 的应用程序中。刚刚下载了 Xcode 7 beta 4 以开始支持 iOS 9,现在我从链接器中收到一个错误:

ld: warning: object file (.../Pods/GoogleInterchangeUtilities/Libraries
/libProtocolBuffers.a(Descriptor.pb.o)) was built for newer iOS version (8.3)
than being linked (7.0)

对于 libProtocolBuffers.a 的部分内容,还有一些类似的。

这是否意味着需要 iOS 8.3 才能使用 GCM 库?如果是这样,为什么 Xcode 6 愉快地吐出代码(在我使用 iOS 7 设备进行的测试中)毫无问题地向 iOS 7.3 发送推送通知?

鉴于它们只是警告,我仍然可以正常编译,但我不想发布错误的代码。

编辑:我给谷歌发了邮件,他们说高层会调查它。同时,如果您正在阅读这篇文章并被警告所困扰,也许还可以发送电子邮件,以便我们鼓励他们处理它。

最佳答案

这实际上意味着所包含库的最小部署目标是 8.3,并且将其与更低的最小部署目标链接会产生此警告。

在这种情况下,库不正式支持低于 8.3 的目标。虽然将此库链接到具有 ower Minimum Deployment Target 的目标仍然有效,但如果有任何仅 8.3 的代码,它可能会在运行时产生崩溃在运行早于 8.3 的系统的设备上执行。

开发人员将 8.3 设置为最低目标是有原因的,并且此警告不应被忽略。在这种情况下它可能是无害的,但在其他情况下它不一定是无害的!

要修复这些警告,请使用旧版本的库或将最低部署目标设置为 8.3。

关于ios - Xcode 7 警告 : object file was built for newer iOS version than being linked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31843900/

相关文章:

ios - iOS 上的 Node.JS 开发?

ios - 生成 P12 文件 Xcode?

ios - 全局设置按钮的背景颜色,UITableView 中的辅助按钮除外

ios - 在应用程序启动时以模态方式呈现 View Controller

ios - 我应该为每个 ViewController Swift 创建一个新的 managedObjectContext

iOS - UITextView + NSUndoManager

ios - 更改 UISlider thumbImage 的大小

ios - Swift 3 中的 PBEWithMD5AndDES 加密

ios - 我们如何在 Swift 中测试 nils?

ios - 当应用程序处于后台时如何在 didReceiveRemoteNotification 上打开特定的 View Controller