2017-06-05 21 views
4

私はfastlaneを使ってJenkinsでhybdridモバイルアプリケーションのビルド/デプロイメントを自動化しようとしています。 イオン源(v3.3.0)とコードバ(v7.0.1)をソースとして使用します。私はfastlane v2.36.0を使用し、Xcodeはバージョン8.3.2です。IOSコードワプロジェクトで署名チームを自動的に設定する方法は?

yarn 
ionic cordova prepare 
fastlane ios build 

fastlane/FastFile

platform :ios do 
    before_all do 
    end 

    ios_project_path = "platforms/ios/awesomeproject.xcodeproj" 

    desc "Build for IOS" 
    lane :build do 
    increment_build_number(
     xcodeproj: ios_project_path, 
     build_number: ENV["BUILD_NUMBER"] 
    ) 

    # Recreate schemes to ensure a smooth transition from cordova to gym 
    recreate_schemes(project: ios_project_path) 

    update_project_team(
     path: ios_project_path, 
     teamid: "TEAMID" 
    ) 

    #update_provisioning_profile_specifier(xcodeproj: ios_project_path) 


     gym(scheme: "awesomeproject", 
      configuration: "Debug", 
      clean: true, 
      project: ios_project_path, 
      output_directory: "target") 
    end 
end 

fastlane/appfileなど

package_name "com.xxx.awesomeapp" 

app_identifier "com.xxx.awesomeapp" # The bundle identifier of your app 
apple_id "[email protected]" # Your Apple email address 

team_id "TEAMID" # Developer Portal Team ID 

コマンドfastlane ios buildジム命令に失敗している私はジェンキンス・ジョブで実行するコマンドエラーあり

コード署名は、SDK「のiOS 10.3」で商品の種類「アプリケーション」のために必要とされる

fastlaneログに詳細なエラーは「awesomeproject」の署名

チェックの依存関係が必要です開発 チームプロジェクトエディタで開発チームを選択します。コード署名はコルドバによって生成されたXcodeプロジェクトは、自動署名が起動したSDK「のiOS 10.3」内の商品の種類「アプリケーション」に必要な

ですが、それは署名チームが欠落しています。 これまでに使用した回避策は、プラットフォーム/ iosフォルダが初めて生成されたときにXcodeでチームを手動で選択することです。しかし、コードバによって生成されたプラットフォームフォルダを削除すると、XCodeでチームの選択をやり直す必要があります。

CordovaまたはfastlaneプラグインでSigningチームを選択する方法はありますか?私は、任意のソリューション、スクリプトを使用するために開いています。 私のビルドは完全に自動化されます。 update_project_team命令が機能していません。

答えて

5

チームのIDで、プロジェクトのルートディレクトリにbuild.jsonと呼ばれるアプリの署名に使用するプロファイルGUIDをプロビジョニングファイルを作成します。

build.jsonを:

{ 
    "ios": { 
    "debug": { 
     "codeSignIdentity": "iPhone Developer", 
     "provisioningProfile": "{your development profile}", 
     "developmentTeam": "{your Team ID}", 
     "packageType": "development" 
    }, 
    "release": { 
     "codeSignIdentity": "iPhone Distribution", 
     "provisioningProfile": "{your distribution profile}", 
     "developmentTeam": "{your Team ID}", 
     "packageType": "app-store" 
    } 
    } 
} 

その後、 Cordova CLIを使用してビルドすると、これらの署名資格が使用されます。

注:Cordova documentationに従って、上記の構文はXcode 8およびiOS 10では推奨されなくなり、プロビジョニングプロファイルGUIDは不要になりました。しかし、私はCordova v7.0.1を使用してプロビジョニングプロファイルを指定せずに動作させることができませんでした。

関連する問題