Tag: Binary

将CocoaPods与预先构建的框架一起使用而不是源文件

介绍cocoapods-binary cocoapods-binary是CocoaPods的插件,旨在将预构建的框架链接到项目。 一旦执行pod install命令,它将自动为每个依赖项预先构建一个框架,并将结果链接到您的项目。 这样就可以减少项目的构建时间 ,因为您将仅构建源代码,而不是每次都构建依赖关系。 这确实是朝正确方向迈出的一步。 安装cocoapods-binary 为了安装cocoapods-binary ,我们需要运行brew install cocoapods-binary或gem install cocoapods-binary命令。 在我们的Podfile中使用cocoapods-binary 我们需要在Podfile的开头添加以下行: plugin ‘cocoapods-binary’ 如果我们要对所有依赖项使用预构建的框架,则还可以添加all_binary! 在任何目标或定义之前。 如果我们再次运行pod install ,它将为每个依赖项预先构建一个框架,并将其与我们的项目链接。 如果我们清理并构建它,它将不再浪费大量时间来构建依赖项。 将比特码嵌入到预先构建的框架中 如果我们想将Bitcode嵌入到我们的iOS应用程序中,我们还需要将其嵌入到我们的依赖项中 。 为了使其与预先构建的框架一起使用,我们需要在Podfile中通过添加enable_bitcode_for_prebuilt_frameworks!进行指定enable_bitcode_for_prebuilt_frameworks! 和keep_source_code_for_prebuilt_frameworks! 毕竟all_binary! 。 请注意,您将需要重新运行pod install才能看到更改。 添加例外 如果我们尝试使用预先构建的框架(例如Google Maps iOS SDK)添加某些依赖项,则这些依赖项将不起作用 。 由于它要求将GoogleMaps.bundle文件添加到主项目并在构建时进行复制,因此不建议使用预构建的框架。 为了使它们正常工作,我们需要通过将:binary => false设置为我们要排除的每个依赖项来添加一个例外 。 pod ‘GoogleMaps’, :binary => false 让我们看一个例子 考虑到我们有以下Podfile: 插件’cocoapods-binary’ 平台:ios,“ 12.0” use_frameworks! […]