アプリの署名情報を書いたり、外部JSファイルやアプリが依存しているパッケージを読み込んだりできる.unoproj
ファイルですが、他にもいろいろ設定できるようですので、よく使いそうなものだけ少しピックアップしたいと思います。.unoprojの記述方法はJSON形式です。
基本的な情報はこちらにまとまっています。
プロジェクトを作るとデフォルトで下記のような記述があります。
{
"RootNamespace":"",
"Packages": [
"Fuse",
"FuseJS"
],
"Includes": [
"*"
]
}
#####RootNameSpace
そのままですが、ルートとなる名前空間を設定します。
#####Packages
アプリから参照されるパッケージです。ここに指定されるパッケージは、事前にコンパイルされたUnoプロジェクトを指します。(Unoについてはまったく知識がないので、後々勉強します。)
最初から含まれているFuse
とFuseJS
は最低限必要なパッケージとなります。
#####Includes
ビルド時に、パッケージに含めるファイルを指定します。逆に除外したいファイルはExcludes
で指定することができます。
{
"Includes": [
"*.ux",
"js/**/*.js",
"SomeUnoClass.uno:Source",
"ForeignCode.java:Java:android"
],
"Excludes": [
"js/ExcludeThisFilePlease.js",
"node_modules/"
]
}
その他、一般的なものをまとめました。
#####Version
現在のアプリのバージョンを指定します。デフォルトは0.0.0
です。
{
"Version": "1.2.9"
}
#####Mobile.ShowStatusbar
ステータスバーを表示するかどうかを指定します。デフォルトはtrue
です。
{
"Mobile": {
"ShowStatusbar": true
}
}
#####Mobile.RunsInBackground
ホームボタンを押下した時に、バックグラウンドで動作させるかどうかを指定します。デフォルトはtrue
です。
{
"Mobile": {
"RunsInBackground": false
}
}
#####Mobile.Orientations
アプリがサポートする端末の向きを指定したものに限定させることができます。指定できる値は下記の通り。
- Auto (デフォルト。すべての向きに対応)
- Portrait (縦)
- PortraitUpsideDown (ホームボタンが上の縦)
- Landscape (横向き)
- LandscapeLeft (ホームボタンが左)
- LandscapeRight (ホームボタンが右)
{
"Mobile": {
"Orientations": "Portrait"
}
}
#####Android.Icons
Android固有のアプリアイコンを指定します。当然、各サイズに合わせた指定をすることができます。
{
"Android": {
"Icons": {
"LDPI": "Icon-ldpi.png",
"MDPI": "Icon-mdpi.png",
"HDPI": "Icon-hdpi.png",
"XHDPI": "Icon-xhdpi.png",
"XXHDPI": "Icon-xxhdpi.png",
"XXXHDPI": "Icon-xxxhdpi.png"
}
}
}
#####Android.SDK
サポートする最小のAPIレベルや、コンパイルのレベルを設定します。
{
"Android": {
"SDK": {
"BuildToolsVersion": "23.0.0",
"CompileVersion": 19,
"MinVersion": 10,
"TargetVersion": 19
}
}
}
#####iOS.Icons
iOSでのアプリアイコンを設定します。
{
"iOS": {
"Icons": {
"iPhone_29_2x": "Icon-iPhone-29@2x.png",
"iPhone_29_3x": "Icon-iPhone-29@3x.png",
"iPhone_40_2x": "Icon-iPhone-40@2x.png",
"iPhone_40_3x": "Icon-iPhone-40@3x.png",
"iPhone_60_2x": "Icon-iPhone-60@2x.png",
"iPhone_60_3x": "Icon-iPhone-60@3x.png",
"iPad_29_1x": "Icon-iPad-29@1x.png",
"iPad_29_2x": "Icon-iPad-29@2x.png",
"iPad_40_1x": "Icon-iPad-40@1x.png",
"iPad_40_2x": "Icon-iPad-40@2x.png",
"iPad_76_1x": "Icon-iPad-76@1x.png",
"iPad_76_2x": "Icon-iPad-76@2x.png"
}
}
}
#####iOS.LaunchImages
iOSでスプラッシュスクリーンとして表示する画像を指定することができます。
{
"iOS": {
"LaunchImages": {
"iPhone_Portrait_2x": "...", // 640x960
"iPhone_Portrait_R4": "...", // 640x1136
"iPhone_Portrait_R47": "...", // 750x1334
"iPhone_Portrait_R55": "...", // 1242x2208
"iPhone_Landscape_R55": "...", // 2208x1242
"iPad_Portrait_1x": "...", // 768x1024
"iPad_Portrait_2x": "...", // 1536x2048
"iPad_Landscape_1x": "...", // 1024x768
"iPad_Landscape_2x": "..." // 2048x1536
}
}
}
#####iOS.DeploymentTarget
アプリが起動できる一番低いOSのバージョンを指定します。デフォルトは8.0
です。(Fuseがサポートしているのも、8.0以上となります。)
{
"iOS": {
"DeploymentTarget": "8.0"
}
}
他のはちょっとわからないやつとかもあったので、調査します。