iOS 9中的新警告

C.F*_*gia 387 xcode ios9 bitcode

我在我的应用中发布了有关Google Framework的新警告:

(null):紧急:所有bitcode都将被删除,因为'/ Users/myname/Library/Mobile Documents/com~apple~CloudDocs/foldername/appname/GoogleMobileAds.framework/GoogleMobileAds(GADSlot + AdEvents.o)'是在没有bitcode的情况下构建的.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.注意:将来这将是一个错误.

Xcode 7给了我大约204个关于同样概念的警告,我无法解决这个问题.此外,我从我的应用程序访问网络时遇到问题.这是调试区域的错误:

-canOpenURL:URL失败:"kindle:// home" - 错误:"此应用程序不允许查询scheme kindle"

所有这些问题都不存在于iOS 8中.

Zia*_*Zia 1021

您的库是在没有bitcode的情况下编译的,但是在项目设置中启用了bitcode选项.说NOEnable Bitcode在你的目标生成设置和图书馆构建设置删除警告.

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

注意:对于iOS应用程序,bitcode是默认设置,但是可选.如果您提供bitcode,则应用程序包中的所有应用程序和框架都需要包含bitcode.对于watchOS应用程序,需要bitcode.

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html

  • 没有为我存档工作.Pre XCODE 7项目工作正常,现在即使将Enable Bitcode设置为NO也无法存档.这适用于AWS库. (2认同)

Elo*_*han 110

在Xcode 7之后,默认情况下将启用bitcode选项.如果您的库是在没有bitcode的情况下编译的,但是在项目设置中启用了bitcode选项,您可以:

  1. 使用位代码更新库
  2. 说不启用位码在您的目标构建设置

在此输入图像描述

和库构建设置删除警告.

有关更多信息,请转到开发人员库中的bitcode文档.

和WWDC 2015年会议102:"平台国家联盟"

在此输入图像描述


Jav*_*ría 42

就我而言,我避免了这个问题:

  1. 确保您正在处理Xcode 7,而不是更低版本.在较低版本中,此标志不存在.

  2. 设置:项目>构建设置>全部>构建选项>启用Bitcode = NO

在此输入图像描述

  • 因此,您必须使用XCode7重新编译项目中包含的库,并将EnableBitcode设置为YES.如果您正在与第三方合作,那将非常复杂.a librarires. (2认同)

Sar*_*den 15

方法canOpenUrl是在iOS 9(由于隐私)更改,并且不再可以自由使用.您的横幅提供商会检查已安装的应用,以便它们不会显示已安装的应用的横幅.

这给出了所有的日志语句

-canOpenURL:URL失败:"kindle:// home" - 错误:"此应用程序不允许查询scheme kindle"

提供者应该为此更新其逻辑.

如果您需要查询已安装的应用程序/可用方案,则需要将它们添加到您的info.plist文件中.

将关键字"LSApplicationQueriesSchemes"作为数组添加到plist中.然后在该数组中添加字符串,如'kindle'.

当然,这不是横幅广告的一个选项(因为它们是动态的),但你仍然可以通过这种方式查询你自己的应用程序或特定的其他应用程序,如Twitter和Facebook.

canOpenUrl:方法 canOpenUrl的文档:

有关LSApplicationQueriesSchemes键的文档


Eik*_*ike 13

如果您正在使用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
Run Code Online (Sandbox Code Playgroud)


mir*_*ixx 8

免责声明:适用于那些需要自动化流程的持续集成工作流程的用户.如果不这样做,请按照Javier的回答中的描述使用Xcode .

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

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

请注意,这可能在Xcode版本中不稳定.它使用Xcode 7.0.1进行了测试,并作为Cordova 4.0项目的一部分进行了测试.