XCODE 7和ENABLE_BITCODE = YES设置不起作用

我已经跟随了Xcode的新的ENABLE_BITCODE设置的几个线程,也尝试尽可能多(承认我不是一个xcode专业版),但仍然不能得到项目编译用于我的testing手机?

我的应用程序在模拟器上运行良好,但我无法将其部署到我的iPhone上进行testing。 后一个我刚刚安装了iOS 9testing版。

现在,这是我收到的错误消息。 看来这个设置不影响PARSE.com库,这是我的项目的一部分? 我怎样才能让我的项目部署到我的手机? 感谢您的任何build议。

Ld /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti- bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods/Parse.framework/Parse normal armv7 cd /Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods export IPHONEOS_DEPLOYMENT_TARGET=8.0 export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -dynamiclib -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk -L/Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods -L/Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods/Parse -F/Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods -filelist /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Intermediates/Pods.build/Debug-iphoneos/Pods-Parse.build/Objects-normal/armv7/Parse.LinkFileList -install_name @rpath/Parse.framework/Parse -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -miphoneos-version-min=8.0 -dead_strip -fembed-bitcode-marker -ObjC -lParseLib -lz -framework AudioToolbox -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -weak_framework Accounts -weak_framework Social -ObjC -fobjc-arc -fobjc-link-runtime -framework AudioToolbox -framework Bolts -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework Foundation -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -single_module -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Intermediates/Pods.build/Debug-iphoneos/Pods-Parse.build/Objects-normal/armv7/Parse_dependency_info.dat -o /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods/Parse.framework/Parse --- ld: warning: -weak_framework is treated as -framework when used with -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES). Weak linking may still happen based on availability mark-up in headers ld: warning: -weak_framework is treated as -framework when used with -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES). Weak linking may still happen based on availability mark-up in headers ld: '/Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods/Parse/libParseLib.a(PFSQLiteDatabase.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

你确定你已经selectEnable Bitcode来反对你正在使用的构buildconfiguration(例如DEBUG )吗? 你可以在project-> target-> build settings-> search enable bitcode – >在DEBUG设置NO (在testing发布之前试着更新lib,也许它会包含bitcode)来检查它。 然后Edit Scheme – > Run – >检查你是否有DEBUGconfigurationatm。

在这里输入图像说明

请注意,对于使用CocoaPods的项目,您应该在项目和Pods容器项目目标上设置ENABLE_BITCODE = NO

这个错误

 Ld /Users/maximveksler/Library/Developer/Xcode/DerivedData/ParseUI-gwtgmlgbpobjfjfjgkiwdahqveos/Build/Products/Debug-iphoneos/ParseTwitterUtils.framework/ParseTwitterUtils normal arm64 cd /Users/maximveksler/Developer/ParseUI-iOS/Pods export IPHONEOS_DEPLOYMENT_TARGET=9.0 export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -dynamiclib -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk -L/Users/maximveksler/Library/Developer/Xcode/DerivedData/ParseUI-gwtgmlgbpobjfjfjgkiwdahqveos/Build/Products/Debug-iphoneos -L/Users/maximveksler/Developer/ParseUI-iOS/Pods/ParseTwitterUtils -F/Users/maximveksler/Library/Developer/Xcode/DerivedData/ParseUI-gwtgmlgbpobjfjfjgkiwdahqveos/Build/Products/Debug-iphoneos -filelist /Users/maximveksler/Library/Developer/Xcode/DerivedData/ParseUI-gwtgmlgbpobjfjfjgkiwdahqveos/Build/Intermediates/Pods.build/Debug-iphoneos/ParseTwitterUtils.build/Objects-normal/arm64/ParseTwitterUtils.LinkFileList -install_name @rpath/ParseTwitterUtils.framework/ParseTwitterUtils -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -miphoneos-version-min=9.0 -dead_strip -fembed-bitcode-marker -ObjC -lParseTwitterUtilsLib -lsqlite3 -lz -framework AudioToolbox -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -weak_framework Accounts -weak_framework Social -fobjc-arc -fobjc-link-runtime -framework AudioToolbox -framework Bolts -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework Foundation -framework Parse -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -single_module -compatibility_version 1 -current_version 1.8.1 -Xlinker -dependency_info -Xlinker /Users/maximveksler/Library/Developer/Xcode/DerivedData/ParseUI-gwtgmlgbpobjfjfjgkiwdahqveos/Build/Intermediates/Pods.build/Debug-iphoneos/ParseTwitterUtils.build/Objects-normal/arm64/ParseTwitterUtils_dependency_info.dat -o /Users/maximveksler/Library/Developer/Xcode/DerivedData/ParseUI-gwtgmlgbpobjfjfjgkiwdahqveos/Build/Products/Debug-iphoneos/ParseTwitterUtils.framework/ParseTwitterUtils ld: '/Users/maximveksler/Developer/ParseUI-iOS/Pods/ParseTwitterUtils/libParseTwitterUtilsLib.a(PFTwitterAuthenticationProvider.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

被解决了:

在这里输入图像说明

在这里输入图像说明

我与GoogleAnalyticscocoa豆库有类似的问题,图书馆没有编译iOS 6的iPhone 6。

我的解决scheme是在应用程序项目的目标中转到没有“启用位码”标志 – 不在Pods项目中。

我在Xcode7中也面临同样的问题。 解决scheme:

  • PROJECT
  • build立Settings
  • selectAll Tab
  • 键入searchEnable Bitcode
  • Update FlagNo (将在您的项目下方(第二列))

我只是为我的项目设置它。

MyProjectTarget – >生成设置 – >启用位码= NO

如果你的Bitcode没有显示,请select全部。 当xcodeselect基本您的位代码选项不显示。

在这里输入图像说明

当你select所有你可以看到位码。 之后设置为否configuration广告 在这里输入图像说明

如果你没有findenable_bitcode标志。 点击search栏旁边上方工具栏中的“全部”标签。 在这里输入图像说明

正如大家所说,答案是设置Enable Bitcode设置为No ,但我认为你们中的一些可能有兴趣从命令行做到这一点。

我的Xcode项目是由Unity生成的,我不想在Xcode项目设置上进行任何手动干预。 也许有更好的方法或工具,可以编辑构build设置有点像PlistBuddy让你更新plist文件中的值。 我不知道任何工具,这样做的构build设置,所以我使用sed 。

sed:根据正则expression式运行replace。

如何Enable Bitcode设置Enable BitcodeNo

在这里,我的项目名称是Unity-iPhone所以我从我的Xcode项目的根目录运行以下命令:

 sed -i -e 's/ENABLE_BITCODE = YES;/ENABLE_BITCODE = NO;/g' \ Unity-iPhone.xcodeproj/project.pbxproj 

-e – 指定要运行的sed命令
-i – 就地编辑文件,为每个文件分别运行脚本

删除-i如果你只想要预览它的function;)

请注意,您的所有构buildconfiguration将使用此命令更改,行ENABLE_BITCODE = YES; 出现了6次在我的project.pbxproj

现在我的构build步骤可以完全自动化,因为fastlane需要照顾其余部分!