サイトのトップへ戻る

Multi-OS Engineドキュメント 日本語訳

サイト内検索

Gradleスクリプトを使ってApple Xcode プロジェクトをカスタマイズする

Multi-OS Engineを使うと、Android Studio IDE上からアプリ用のApple Xcodeプロジェクトをにカスタマイズできます。 このページでは、Multi-OS Engine Gradleプラグインがサポートしているプロジェクトカスタマイズ用の全てのプロパティについて説明します。 プロジェクトをカスタマイズするには、 <moe_module> /build.gradle スクリプト内で必要な全てのプロパティを定義してください。



Xcode Project の必須プロパティ

Xcode プロジェクトでは、以下のプロパティは必ず定義する必要があります:

  • mainTarget [String] - アプリケーション名。
  • packageName [String] - Multi-OS Engine モジュールのJava パッケージ名
  • mainClassName [String] - メインクラス名。既定値は Mainですが、別のメインクラス名を使用している場合はそちらを設定しなければなりません。:
moe {
    xcode.mainTarget ‘AppName’
    xcode.packageName ‘JavaPackageName'
    mainClassName 'Main'
}


署名用のプロパティ

Multi-OS Engine では以下のプロパティが用意されています:

  • provisioningProfile [String] - プロビジョニングプロファイルへのパス。設定しない場合、システム上の既定値が使用されます。
  • signingIdentity [String] - 署名の識別名。設定しない場合、システム上の既定値が使用されます。この名前は、 Apple macOS機上でApple Keychain Access ツールから確認できます。
  • bundleID [String] - プロビジョニングプロファイルと一致するバンドル識別子:
moe {
    ipaOptions {
      signingIdentity 'iPhone Developer: Developer Name'
      provisioningProfile '/Users/<username>/Library/MobileDevice/Provisioning Profiles/<id>.mobileprovision'
    }
    xcode {
        bundleID 'bundle.id.for.provisining.profile'
    }
}


リソース用のプロパティ



アプリケーションリソース

アプリケーションリソースの既定の保存場所は src/main/resourcesです。 srcDirs で複数のリソースディレクトリを設定し、include/exclude フィルターを適用することができます。

sourceSets {
    main {
        resources {
            srcDirs('src/main/resources', 'src/main/res')
            include('**/out*')
            exclude('*.txt')
        }
    }
}

リソースは指定されたリソースディレクトリに関してコード上からアクセスする必要があります。 以下の例では、既定の保存場所のart.scnassetsフォルダー(src/main/resources/art.scnassets)からship.daeファイルにアクセスするやり方を示しています。

SCNScene scene = SCNScene.sceneNamed(“art.scnassets/ship.dae”);



ストーリーボード

ストーリーボードはiOS アプリケーションのユーザーインタフェースを視覚的に表したもので、コンテンツの各画面とそれら画面間の繋がりを表示します。 Multi-OS Engine では以下のストーリボード用プロパティが用意されています:

mainUIStoryboardPath [String] - MainUI ストーリボードファイルへのパス。

moe {
    xcode.mainUIStoryboardPath 'src/resources/MainUI.storyboard'
}

これが設定されなかった場合、UITransfromer タスクは.ixml ファイルからストーリーボードファイルの生成を試みます。 これらのファイルはMulti-OS Engineレイアウトエディターによって作成されたiOSアプリ用のUIレイアウトを表し、リソースフォルダ配下のlayout ディレクトリに配置する必要があります。

layout フォルダーが無くなおかつ mainUIStoryboardPath プロパティが設定されていない場合、 Multi-OS Engine は既定の保存場所のstoryboard ファイル(src/main/resources/MainUI.storyboard)を探します。



スプラッシュスクリーン

スプラッシュスクリーンとは、画像を含んだウィンドウによって構成されるグラフィカルコントロールエレメントです。 iOS アプリケーションが起動している間、スプラッシュスクリーンが表示されます。

Multi-OS Engine アプリでスプラッシュスクリーンを表示するには、以下二つの方法からどれかを選んでください:

  • xcassetsで起動画像カタログを使用する
    1. <xcassetName> .xcassets/<launchImagesSourceName>.launchimageというフォルダ構造にして、アイコンと Xcode 形式のjson ファイルを用意します。.
      注意:

      <xcassetname>.xcassets フォルダはリソースディレクトリにルートに配置する必要があります。

    2. 起動画像ソースの名前 - launchImagesSourceNameを設定します:
      	moe {
      	    xcode.launchImagesSource = 'launchImagesSourceName'
      	}
      	
      注意:

      起動画像カタログを設定してスプラッシュスクリーンを追加する例については、FlipView のサンプルを参照してください。

  • .xib ファイルもしくは .storyboard ファイルを使用する

    .xib ファイルや .storyboard ファイルへの絶対パス、もしくは相対パスを設定します:

    	moe {
    	 xcode.launchScreenFilePath = 'path/to/xib/or/storyboard/file'
    	}
    	
    注意:

    LaunchScreen.xibを使ってスプラッシュスクリーンを追加する例については、DateCell のサンプルを参照してください。



アプリアイコン

  1. Multi-OS Engine アプリにアイコンを追加するには、<xcassetName> .xcassets/<appIconsSourceName> .appiconset というフォルダ構造を用意して、アイコンとXcode 形式のjsonファイルを作成します。
    注意:
    <xcassetName> .xcassets フォルダはリソースディレクトリのルートに配置する必要があります。
  2. アプリアイコンリソースの名前 - appIconsSourceNameを設定します:
    	moe {
    	    xcode.appIconsSourceName = 'appIconsSourceName'
    	}
    	
    注意
    アプリアイコンを追加する例はCalculator のサンプルで説明しています。


カタログアセット

その他アセットカタログの<xcassetName> .xcassetsをMulti-OS Engine モジュールへ追加するには、このフォルダをリソースディレクトリのルートに配置します。



Resources from Sources

  • enableResourcesFromSourceDirs [boolean] - Javaプラグインによって検出されたリソースを追加するかどうかを設定します。既定値はtrueです。
  • resourcesFromSourceDirExcludes [String List] - Java プラグインリソースフィルター:
moe {
    resources {
        enableResourcesFromSourceDirs false
        resourcesFromSourceDirExcludes [ "**/*.java", "**/*.scala" ]
    }
}


Proguard コンフィグ

ビルドプロセスには、アプリケーションのクラスを縮小するproguard のステップが含まれています。 Multi-OS Engineビルドシステムで使用される既定コンフィグにカスタムルールを追加するには、 Multi-OS Engine モジュールのインストールフォルダにあるproguard.append.cfg ファイルにルールを追加してください。



その他の情報

Multi-OS Engine Gradleプラグイン、およびタスクとプロパティの全一覧に関するその他詳細情報は、プラグインドキュメントを参照してください。