6

Xcode IDE を使用せずに、端末コマンドを使用して .xcodeproj のビルド設定を変更したい (正確には Codesigning Identity および Provisioning Profile)。

あちこち検索しましたが、ターミナルからプロジェクトをビルド/アーカイブするコマンドしか見つかりませんでした。これは望ましくありません。私が望むのは、Xcode でプロジェクトを開くときに、ターミナルで設定したものに署名 ID とプロビジョニング プロファイルが設定されるように、設定を変更することだけです。

Xcodebuild コマンドは、パラメーターとして渡したものを使用してプロジェクトをビルド/アーカイブするだけで、プロジェクトのビルド設定で値として設定しません。

プロジェクトが存在するターミナルで実行xcodebuild -target <target-name> -showBuildSettingsすると、プロジェクトの完全なビルド設定が得られますが、それらを設定する方法がありませんでした。

また、ここで の使用について読みまし-setObjectたが、実際に設定する代わりに、指定したパラメーター値を使用してコードをビルドするため、それも役に立ちませんでした。

現在、Xcode 6.3 と Xcode 7 を使用しています。

あらゆる種類の助けをいただければ幸いです。

4

1 に答える 1

5

すべての Xcode 設定は、実際には に保存され<project-name>.xcodeproj/project.pbxprojます。のように見えます

buildSettings = {
    CODE_SIGN_ENTITLEMENTS = "";
    CODE_SIGN_IDENTITY = "iPhone Developer";
    "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";

    ...

    PRODUCT_NAME = "$(TARGET_NAME)";
    PROVISIONING_PROFILE = "";
    SKIP_INSTALL = YES;
};

コード署名 IDはキーによって制御されCODE_SIGN_IDENTITYプロビジョニング プロファイルPROVISIONING_PROFILEキーによって制御されます。

は、CLI の従来のテキスト処理ツール ( sed withproject.pbxprojなど) で編集できるテキスト ファイルです。

sed -ie 's/CODE_SIGN_IDENTITY = "iPhone Developer"/CODE_SIGN_IDENTITY = ""/g' <project-name>.xcodeproj/project.pbxproj
sed -ie 's/PROVISIONING_PROFILE = ""/PROVISIONING_PROFILE = "1c28c979-6bef-4917-aa34-92aecd91315c";/g' <project-name>.xcodeproj/project.pbxproj

使用可能な署名 IDのリストを取得するには、

security find-identity -v -p codesigning

の場合PROVISIONING_PROFILE、プロビジョニング ファイルのUUIDであり、次のコマンドで取得できます。

grep -aA1 UUID /path/to/mobileprovision
于 2015-09-23T15:40:11.213 に答える