Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What you need to know about signatures by the time of release

What you need to know about signatures by the time of release

Shinnosuke Yamamoto

January 19, 2022
Tweet

More Decks by Shinnosuke Yamamoto

Other Decks in Programming

Transcript

  1. Androidの署名 Keystoreを用いて署名する android/app/build.gradle にKeystoreの設定する ... android { ... signingConfigs {

    release { storeFile file(MYAPP_UPLOAD_KEYSTORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } ... $ cd android && ./gradlew bundleRelease で署名されたApp Bundleができる 12
  2. iOSの署名 証明書 の種類 Development Production Provisioning Profile の種類 AppStore Adhoc

    Development 今日はAppStoreから配信する際のパターンについて紹介します Production の証明書 x AppStore の Provisioning Profile 17
  3. iOSの署名 App IDを登録する $ fastlane produce --app_identifier [App ID] --company_name

    [company name] [Option] Push通知などを利用している場合は、利用する機能を有効にしておく see: Adding Capabilities to Your App | Apple Developer Documentation $ fastlane produce enable_services [service name] 20
  4. iOSの署名 証明書とProvisioning Profileを作成する AppStore用の証明書とProvisioning Profileを発行 作成したRepositoryに保存 実行環境に証明書インストール $ fastlane match

    appstore --app_identifier [App ID] 他の開発環境で証明書とProvisioning Profileを取得する際には readonly をつける $ fastlane match appstore --app_identifier [App ID] --readonly 26
  5. iOSの署名 やることまとめ Provisioning Profile を作成する App IDを登録する Device IDを登録する fastlane

    match で証明書とProvisioning Profileを作成する Xcodeで証明書とProvisioning Profileの設定をする Release buildをする 28
  6. iOSの署名 補足 Provisioning Profileは定期的に再発行イベントがある 証明書の期限が切れたとき Appleから発行された証明書は、有効期限が 1 年 となってる Androidのほうは

    25 年 なので、あんまり気にしなくていい Push通知などのCapabilities追加したとき Provisoning Profileに有効になっているCapabilitiesが書いてある 機能追加したら更新する必要がある 検証端末を増やしたとき UDIDが登録されていない検証端末では、アプリが動作しない 新しい検証端末のUDIDを登録してから、Provisioning Profileを再発行する 29
  7. Staging環境つくりたい Androidでやること package nameを環境ごとに分ける see: ビルド バリアントを設定する | Android デベロッパー

    | Android Developers Staging用に新しくkeystoreを作る必要はない debug用のkeystoreがあるので、それを使えばいい android.app/debug.keystore 32
  8. Staging環境つくりたい iOSでやること package nameを環境ごとに分ける see: XcodeでDevelop/Staging/Release環境を上手に切り分ける方法 - Qiita Staging用にProvisioning Profileを作る必要がある

    検証端末のDevice IDを登録する 21枚目のスライド参照 App IDをwildcardで指定して登録する $ fastlane produce --app_indetifier [App ID].* Provisionig Profileを作る $ fastlane match adhoc --app_identifier [App ID].* 33