如何在Xcode 7中使用ENABLE_BITCODE?

时间:2015-07-03 10:57:02

标签: ios objective-c xcode parse-platform frameworks

我正在使用parse.com进行开发,我将此问题升级到Xcode 7.有些Parse框架没有完全正常工作。

我有这个警告:

  

紧急:所有的bitcode都将丢弃,因为   '/Users/[MY_USER]/Downloads/parse-starter-project-1/ParseStarterProject/Parse.framework/Parse(PFMutableFileState.o)'   没有bitcode建造。您必须在启用bitcode的情况下重建它   (Xcode设置ENABLE_BITCODE),从中获取更新的库   供应商,或禁用此目标的bitcode。注意:这将是一个   将来会出错。

让我提醒一下,Xcode 6的最新版本中一切正常。

如何在Xcode 7中启用Bitcode?

5 个答案:

答案 0 :(得分:126)

如果您使用的是针对iOS 9更新的第三方框架或库,并且您不想包含bitcode,那么您应该检查是否提供了没有{{{}的框架版本1}}。有关何时将其包含在您的应用包中,请参阅Apple's note

  

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

要在项目中禁用/启用bitcode,请按以下步骤操作:

  1. 在项目构建设置中,确保已启用所有设置。
  2. 构建选项是第4部分。为bitcode选项选择是或否。
  3. enter image description here

    enter image description here

答案 1 :(得分:4)

这将是Parse必须要做的事情,当为您的应用启用bitcode时,您的包中的所有应用和框架都需要包含bitcode(请参阅here)。正如你所看到的,Parse框架现在不使用它,这是可以理解的,因为它仍处于测试阶段,尚未准备好进入黄金时段。

答案 2 :(得分:2)

现在看来这是Xcode 7 beta 3中的一个错误。如果你使用的Cocoapod没有打开ENABLE_BITCODE,你可以尝试通过在Podfile的底部添加以下内容来完全禁用它:

post_install do |installer|

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

    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

警告:根据我的阅读,如果没有启用ENABLE_BITCODE,您就无法提交WatchKit应用程序,因此在Parse更新其pod之前,这是一个权衡。

答案 3 :(得分:1)

只需在Build设置中搜索bitcode并将其设置为false / NO

答案 4 :(得分:1)

您有多种选择

  • Enable Bitcode (ENABLE_BITCODE)
  • Other C Flags(OTHER_CFLAGS)-fembed-bitcode
  • 使用 BITCODE_GENERATION_MODE 创建用户定义的设置 bitcode

[Bitcode]