web-dev-qa-db-ja.com

Xcode 7およびENABLE_BITCODE = YES設定が機能しない

私はXcodeの新しいENABLE_BITCODE設定に関するいくつかのスレッドをフォローしましたが、できる限り試しました(私はxcodeプロではないことを認めました)が、テスト電話で使用するためにプロジェクトをコンパイルすることはできませんか?

私のアプリはシミュレータ上で正常に動作しますが、テストのためにiPhoneにデプロイできません。後者では、iOS 9ベータ版をインストールしました。

さて、ここに私が受け取るエラーメッセージがあります。この設定はPARSE.comライブラリに影響を与えないようですが、それは私のプロジェクトの一部ですか? プロジェクトを携帯電話に展開するにはどうすればよいですか?アドバイスをありがとう。

    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)
89
DirkLX

使用しているビルド構成に対してEnable BitcodeからNOを選択しましたか(例:DEBUG)? project-> target-> build settings-> search enable bitcode-> set NO in DEBUGでチェックアウトできます(テストリリースの前にlibを更新しようとすることを忘れないでください。既にビットコードが含まれている可能性があります)。次に、スキームの編集->実行-> DEBUG config atmがあるかどうかを確認します。

enter image description here

130
Vive

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)

によって解決されました:

enter image description here

enter image description here

49
Maxim Veksler

Xcode7でも同じ問題に直面していました。これに対する解決策:

  • PROJECTに移動します
  • ビルドSettings
  • All Tabを選択します
  • 検索に入力Enable Bitcode
  • Update FlagからNo(プロジェクトの下にあります(2列目))
16
Harshal Wani

GoogleAnalyticsのココアポッドライブラリで同様の問題が発生しましたが、iOS 8を搭載したiPhone 6用にライブラリがコンパイルされていませんでした。

私の解決策は、ポッドプロジェクトではなく、アプリケーションプロジェクトのターゲットで「ビットコードを有効にする」フラグを無効にすることでした。

15
ArturOlszak

ビットコードが表示されない場合は、すべて選択してください。 xcodeでBasicを選択すると、ビットコードオプションが表示されません。

enter image description here

[すべて]を選択すると、ビットコードが表示されます。その後、広告の構成にNoを設定します enter image description here

10
ethemsulan

私は自分のプロジェクトにそれを設定しました。

MyProjectTarget-> Build Settings-> Enable Bitcode = NO

10
Alexander

誰もが言ったように、答えはビルド設定でEnable BitcodeNoに設定することですが、あなたはこれをコマンドライン

私のXcodeプロジェクトはUnityによって生成されているので、Xcodeプロジェクトの設定に手動で介入する必要はありません。 PlistBuddy を使用してplistファイルの値を更新できるように、ビルド設定を編集できるより良い方法やツールがあるかもしれません。ビルド設定のためにこれを行うツールがわからないので、 sed を使用しています。

sed:正規表現に基づいて置換を実行します。

コマンドラインから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を削除してください;)

ビルド構成のallはこのコマンドを使用して変更されることに注意してください。ENABLE_BITCODE = YES;行はproject.pbxprojに6回現れました。

fastlane が残りを処理するので、ビルド手順を完全に自動化できます!

4
GabLeRoux

Enable_bitcodeフラグが見つからない場合。検索バーの横にある上部ツールバーの「すべて」タブをクリックします。 enter image description here

3
haroon jamil

プロジェクトでBITCODE設定を変更できない場合は、ターミナルでこのコマンドを試してください。

xcodebuild -target "target" -configuration "configuration" ENABLE_BITCODE = NO

0
booklynios