##署名について(公式サイトへ)
ストア申請用のアプリを書き出すには、署名情報が必要になります!各OSの署名の設定について書きます。(基本的に公式サイトの簡単な翻訳になります。)これが終わったら、各コンポーネントとかについて、実際に作りながら書くつもりです!
基本的には、プロジェクト作成時に自動で作られた、.unoprojファイルに署名情報を書いていきます!
###◎Android
まずは、keytoolを使って、証明書ファイルを作成します。keytoolコマンドを使うにはJDKがインストールされていることが必要です。
keytool -genkey -v -keystore release.keystore \
-alias application -keyalg RSA -keysize 2048 -validity 10000
ファイル名やエイリアスや期限は適宜変更してください。実行すると、証明書の生成に使用する名前や組織、パスワードなどその他の情報の入力を求められます。生成された証明書をプロジェクトフォルダにいれておきます。
アプリを証明書を紐づけるため、.unoprojに下記のように追加します。
{
"Android": {
"Key": {
"Alias": "application",
"AliasPassword": "password",
"Store": "release.keystore",
"StorePassword": "password"
}
}
}
パスワードなど、証明書を作ったときに入力した情報と同じように入力してください。
この証明書が使われるのはリリースビルドの時のみです。デバッグの時は、用意されているデバッグ用のキーを使うようになっています。
情報が正しく入力されていれば、以上でリリース用のAndroidアプリを書き出すことができます。
###◎iOS
まずは、下記を実行します。
fuse build -t=iOS -c=Release -adebug
Xcodeが立ち上がったら、あとは通常の手順で署名していく感じです。これは、、「Xcode 証明書」とかでググってください。(ほんとすんません:/)
####Xcode Development Team IDs
Xcode8から、デバッグビルドでも署名が必要になりました。しかし、XcodeでTeam IDを設定しておけば、残りのめんどくさい部分を自動的にやってくれるはずです。
Team IDはこちらのメンバーシップの項目に書いてあります。
Unoはマシンの署名情報から、XCodeの開発者Team IDを自動的に探してくれます。
自分で設定する場合は、.unoprojファイルに追加します。
{
"iOS": {
"DevelopmentTeam": "YOURTEAMID"
},
...
}
もしくは、昨日紹介したビルド時のオプションを追加して設定することもできます。
fuse build -t=iOS -s:Project.iOS.DevelopmentTeam="YOURTEAMID"
同じMacを複数人の開発者で共有する場合は~/.unoconfig(なければつくる)に
iOS.DevelopmentTeam: "YOURTEAMID"
を書いておくといいみたいです。
No matching provisioning profiles found
と言われる場合はとりあえず-adebug
オプションつけて実行せい!って書いてあります。