CocoaPod use_frameworks!与 iOS7 合作?

Does CocoaPod use_frameworks! work with iOS7?

我想使用这样的 Podfile:

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
platform :ios, '7.0'

这可以与 iOS 7 一起使用吗?我认为框架仅适用于 iOS 8?

不,它没有。 use_frameworks! 通过在新 dynamic frameworks 中构建代码来启用 Swift 支持。动态框架只支持 iOS 8。不幸的是,由于你不能在静态库中使用 Swift(以前 CocoaPods 捆绑库的方式),这是捆绑 Swift 文件的唯一方法。

您不能使用:

use_frameworks!

和iOS7。

更新:事实证明,您实际上可以在 iOS 7 上部署动态框架。不过,可能不是通过 Cocoapods。说明(感谢 @user102008!):Deploying a Containing App to Older Versions of iOS。此更新并没有真正回答原始问题,但添加它是为了根据新信息澄清我的旧答案。


我认为,一条注释非常重要,足以作为答案。 iOS 7 实际上支持动态框架,您可以 运行 在 iOS 7 设备上使用动态框架编写代码。 但是 iOS 7不支持公平竞争的加密第三方框架。因此,如果您尝试使用动态框架向 iTunesConnect 提交 iOS7 的应用程序,它将被拒绝 (one prooflink)。

我认为这很重要,因为它可能看起来有效,但实际上没有。如果您忽略该警告,您遇到问题时可能为时已晚,因为一半的项目已经在 Swift.

我们在开始开发自己的pod时遇到了这个问题。项目编译 运行 在 iOS 7 上很好。幸好我们进一步研究了这个问题。