2 つのアプリケーションがあります。1 つは名前にスペースがあり、もう 1 つはありません。コマンド ライン ビルド プロセスでアプリケーションを実行しようとすると、アプリケーションが正常に機能しないという問題が発生します。
--- アプリケーションのコマンド ラインでスペースを使用して資格を確認しようとすると、次のようになります。
>machine:Release-iphoneos builder$ codesign -d --entitlements - Application\ Name.app
Executable=/Users/Shared/Jenkins/Home/jobs/My_Application_Name/workspace/build/Release-iphoneos/Application Name.app/Application Name
--- 名前にスペースがないアプリでこれを実行すると:
machine:Release-iphoneos builder$ codesign -d --entitlements - application.app
Executable=/Users/Shared/Jenkins/Home/jobs/My_Application_Name/workspace/ios/build/Release-iphoneos/Application.app/Application
??qq?<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>ABC123456.com.company.app</string>
<key>aps-environment</key>
<string>production</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>ABC123456.com.company.app</string>
</array>
</dict>
</plist>
ここでの大きな問題は、このアプリケーション名はすでにグローバルに使用されており、変更できないということです。これらのコマンド ライン ビルドを実行できるようにするには、どうすればこの問題を修正できますか?
IMNHO: Apple は、xcode の非 POSIX 準拠という点で大きな間違いを犯しました。
任意の提案をいただければ幸いです。
アップルの回答: 「iOS アプリケーションのコード署名は、Xcode アプリを使用してアプリケーションをビルドおよび署名する場合にのみ、DTS によってサポートされます。xcodebuild を使用して iOS アプリケーションに署名するためのワークフローはサポートされていません。」
そのため、独自のコマンド ライン ツールをサポートしていません...