我在我的应用程序中有这个关于谷歌框架的新警告:

(null): URGENT:所有位码将被丢弃 ' / /名字/图书馆/移动用户 文档/ com ~苹果~ CloudDocs foldername /浏览器名称/ GoogleMobileAds.framework / GoogleMobileAds (GADSlot + AdEvents.o)” 没有比特码。您必须在启用位码的情况下重新构建它 (Xcode设置ENABLE_BITCODE),从 供应商,或禁用此目标的位码。注意:这将是一个 未来的错误。

Xcode 7给了我大约204个关于这个概念的警告,我无法绕过这个。我也有一个问题,从我的应用程序访问网络。这是来自调试区域的错误:

- canopenurl: failed for URL: "kindle://home" -错误:"此应用程序是 不允许查询计划kindle"

所有这些问题在iOS 8中都没有出现。


当前回答

如果您正在使用CocoaPods,并且希望为所有库禁用Bitcode,请在Podfile中使用以下命令

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
    end
end

其他回答

如果您正在使用CocoaPods,并且希望为所有库禁用Bitcode,请在Podfile中使用以下命令

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
    end
end

您的库是在没有位码的情况下编译的,但在项目设置中启用了位码选项。在目标构建设置和库构建设置中说“不”以启用Bitcode以删除警告。

对于那些想知道是否需要启用位码的人:

对于iOS应用程序,bitcode是默认值,但可选。对于watchOS和tvOS应用程序,位码是必需的。如果你提供位码,应用程序包中的所有应用程序和框架(项目中的所有目标)都需要包含位码。

https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f

免责声明:这是针对那些支持需要自动化流程的持续集成工作流的人。如果你没有,请按照Javier的回答使用Xcode。

这对我来说是有效的,通过命令行设置ENABLE_BITCODE = NO:

find . -name *project.pbxproj | xargs sed -i -e 's/\(GCC_VERSION = "";\)/\1\ ENABLE_BITCODE = NO;/g'

注意,这在Xcode版本中可能是不稳定的。它是用Xcode 7.0.1测试的,并且作为Cordova 4.0项目的一部分。

在我的例子中,为了避免这个问题:

确保你使用的是Xcode 7,而不是更低的版本。在较低版本中,此标志不存在。 设置:项目>构建设置>所有>构建选项>启用Bitcode = NO

修复canOpenURL失败的问题。这是因为iOS9中新的应用程序传输安全功能

阅读这篇文章来解决这个问题http://discoverpioneer.com/blog/2015/09/18/updating-facebook-integration-for-ios-9/