LoginSignup
0
0

More than 3 years have passed since last update.

Unity Cloud Build 環境で iOS のステッカーをバンドルしたアプリ書き出しをする

Posted at

既存のアプリにiOSのメッセージ用のスタンプ(ステッカー)をバンドルし、
ビルドについても Unity Cloud Build で自動ビルドする方法をまとめておきます。

iOS App Extension
ステッカーパックExtension。iOS Appにステッカーパックをバンドルできます。ステッカーパックはApp Store for iMessageに掲載され、その際App Storeで該当するiOS Appに適用されているのと同じカテゴリや説明文が使用されます

前提

  • Unity Cloud Build でビルドできる iOS のプロジェクトを作成済み

手動でやる場合

XCode プロジェクトを書き出した後、 File -> New -> Target などして、 sticker app extension を追加し、各種画像の指定、Provisioning profile の指定などしてやればビルドできるようになると思います。

自動化したい

Unityの設定

Targetの追加、画像の指定については以下のプラグインがいい感じにやってくれます。
https://github.com/agens-no/iMessageStickerUnity

プロジェクトにインポートした後、必要な設定を行います。
Window > Sticker Pack から設定パネルを表示します。

項目 説明
Title ステッカー名、メッセージの入力画面にも表示されます
Bundle Version {アプリのバンドルID + 任意の文字列}
Automatic Signing UCBでビルドする場合はチェックを外します

Icons, Stickers には任意の画像等を指定します。

証明書まわりの準備

ステッカー用のAppIDを用意します。
Apple Developer のサイトの、 Identifiers から、 {アプリのバンドルID + 任意の文字列} のAppIDを作成します。
とくに必要な指定は無い気がする。

AppIDを作成したら Provisioning Profile を作成します。
作成した Profile はダウンロードしておきます。

UCB自動化のための設定

上で作成した、ステッカー用の Provisioning Profile を指定する必要がありますが、
Unity Cloud Build では一つしか設定する項目がないので、
フォーラムで案内されていた以下の方法で指定をします。

ファイルの配置

Assets/UCB/xcode_fastlane.json
Assets/UCB/Fastfile
Assets/UCB/Gymfile
Assets/UCB/Stickers.mobileprovision (上で作った Profile)

xcode_fastlane.json
{
    "fastfile": "Assets/UCB/Fastfile",
    "gymfile": "Assets/UCB/Gymfile",
    "lanes": {
        "pre_build": "use_stickers_profile",
        "post_build": ""
    }
}
Fastfile
lane :use_stickers_profile do |options|
    profile_path = File.join(options[:project_dir], 'Assets/UCB/Stickers.mobileprovision')
    FastlaneCore::ProvisioningProfile.install(profile_path)
    update_project_provisioning(
        xcodeproj: 'Unity-iPhone.xcodeproj',
        target_filter: 'Unity-iPhone-Stickers',
        profile: profile_path
    )
end
Gymfile
export_options(
    provisioningProfiles: {
        "com.unity3d.cloudbuild.base.stickers" => "1e33640e-9a55-4357-a632-ca6c48a53a96"
    }
)

bundle id(com.unity3d.cloudbuild.base.stickersの部分), UUID(1e33640e...のやつ) をそれぞれプロジェクトのものに書き換えてください。 UUID は Mac のクイックルックなどから mobileprovision ファイルを見ると確認できる。

Cloud Build の設定

Config > advanced options > Custom Fastlane Configuration Path
の欄に、上で作成したjsonファイルへのパスを指定します。
Assets/UCB/xcode_fastlane.json

以上の内容をpushしてビルドをかけると、ビルドが通るようになるかと思います。
ipaをインストールすると、メッセージアプリに、
バンドルしたステッカーが追加されているのを確認できます。

Ad Hoc とストアリリース用に、ステッカーの Provisioning Profile も使い分ける必要があるのかわかりませんが、
Gymfileやmobileprovisionファイル、fastlaneの設定用jsonファイルを2通り用意して、使い分ければ実現できるのかな、と思います。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0