2016-07-20 13 views
2

まず、 "可能な重複" の仮定を容易にするために、私はここではこれら2つのポストaccross走っています: Jenkins vs. Xcode plugin - codesign troublesコデザインの問題:リソース・ルール(のMac OSで非推奨X> = 10.10)

Xcode 6.1 error while building IPA

続いてthis apple tech note

これらの解決策は何も解決していません。私は最近、Mac OS Xをより古いOS Xから最新の最高のXCodeバージョン(7.Somethingまたはその他)とともにアップグレードし、Jenkinsを実行しています。アップグレード前に構築されていたプロジェクトは現在ビルドされていません。

error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign Stuff_I_Dont_think_I_canShow/TheProject.app failed with error 1. Output: Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!

最初のエラーは、私のタイトルから1(第一ジェンキンスからアップグレード後にビルド)でした。

は、2つのポストからのソリューションを試みた変更をプッシュし、それが再び失敗しました:

Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) matching the team ID “SOMEID123” were found(再び、私はチームのIDを表示することができることを確認して、このようなものは私には新しいものではない、と私が何であるかわからないんだけど、機密情報ものではありません)

は、いくつかは、より多くの掘りDIDとこの答えに出くわしましたここに:--resource-rules has been deprecated in mac os x >= 10.10。引用文献:

Since Xcode 7, the Code Signing Resource Rules Path build setting must be left empty

です。私はXcode 7を持っています。そのため、以前のソリューションが引用した変更を削除しましたが、今でも同じエラーが発生します。Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) matching the team ID “SOMEID123” were found.

ここでは何が起こっていますか?私は結果を出さずにこれを撮影するのに多くの時間を浪費してしまった。どのように明白な場所でresource-rulesの使用を明示的に削除する必要がありますか?どんな知識共有も認められるだろう。ここで

は、包装され、(程度に検閲)スクリプトの一部に署名:

# Build & package app 
cd $PROJECT_DIR/src/xcode 
xcodebuild -target MyApp -configuration Release clean build SYMROOT=$BUILD_DIR_BASE 
xcrun -sdk iphoneos PackageApplication -v $BUILD_DIR/Mobile_MyApp.app -o $BUILD_DIR/Mobile_MyApp.ipa --sign "iPhone Distribution: Company" --embed "$CERT_DIR/hf83uw90-i987-21j0-5t6y-f897e2384957.mobileprovision" 

情報の他ちらほらを追加するには、これはgitのプロジェクトであるとパッケージングの前に、プロジェクトの検索がかかります場所、次にreposにアクセスします。

+0

に推奨されていません引退とdisfunctional意味するものではありません。 – user3078414

+0

ビルドスクリプト、具体的にはビルドやコードの署名やパッケージ化を行っている場合は、リソースルールの変更だけではなく、スクリプトの更新が必要な場合があります。 – Wain

+0

@Wainこれはかなり新しく、私はどのくらい表示することが許されているのか分かりませんが、スクリプトのビルドとパッケージングの部分の検閲版を追加しています。残りは、私たちのリポジトリから取得してからプッシュします。 –

答えて

2

プロビジョニングファイル(PROVISIONFILE)は$CERT_DIR/hf83uw90-i987-21j0-5t6y-f897e2384957.mobileprovisionで、配布名(DISTRIBUTION_NAME)はiPhone Distribution: Companyです。

私はスクリプトにこれを追加したい:

PROFILE_UUID=`grep "<key>UUID</key>" $PROVISIONFILE -A 1 --binary-files=text | sed -E -e "/<key>/ d" -e "s/(^.*<string>)//" -e "s/(<.*)//"` 

、その後xcodebuildライン

PROVISIONING_PROFILE=$PROFILE_UUID CODE_SIGN_IDENTITY="$DISTRIBUTION_NAME" 
+1

変更を加える前に、これが何をしているのか、どのようにこのソリューションに来たのかを簡単に教えてください。 –

+0

プロビジョニングの詳細を(プロジェクトの設定ではなく)ビルド時に使用することが強制されています。数年前からビルドスクリプトに入っていました。おそらくもっと長くても – Wain

+0

ちょっと更新しましたが、あなたのソリューションを試してみるにはまだまだ時間を要していますが、この問題に関わる他の問題が発生しました。 –