iOS
Unity iOS の基本

iOS開発を始める

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

iPhone および iPadのようなデバイス向けにゲームをビルドすることはデスクトップPC向けゲームとは異なるアプローチが必要です。PCマーケットと異なり,ターゲットのハードウェアは標準化されていて,また専用ビデオカードをもったコンピュータほど高速で協力ではありません。このためこれらプラットフォーム向けのゲーム開発のアプローチは少し異なって行う必要があります。さらにiOS向けのUnityの機能はデスクトップPCのそれとは若干異なります。

Appleデベロッパーアカウントをセットアップする

実際のデバイスでUnity iOSゲームを実行する前に,Appleデベロッパー アカウントが承認されてセットアップしておく必要があります。これはチームの決定,デバイスの追加,およびプロビジョニング プロファイルの最終化を含みます。これらすべてはAppleのデベロッパー ウェブサイトを通して実施します。これは複雑なプロセスなので,iOSデバイスでコードを実行する前に実施すべきタスクの 基本的な概要 をまとめました。しかし AppleのiPhoneデベロッパー ポータル の手順通りに進めることがベストです。

注意: この先に進める前に,Unity向けiOSの潜在的な力を全て引き出せるように,Appleデベロッパー アカウントをセットアップしておくことを推奨します。

Unity XCode プロジェクト

Unity iOS ゲームをビルドするとき,XCode プロジェクトが生成されます。このプロジェクトは署名,コンパイルしたうえディストリビューション用にゲームを準備する必要があります。詳細については Unity XCodeプロジェクト を参照して下さい。

iOS機能へのアクセス

UnityはいくつかのスクリプティングAPIによりマルチタッチスクリーン,加速度計,GPS機能,およびその他多くの機能へのアクセスを提供します。スクリプトのクラスについては iOS スクリプティング ページ を参照下さい。

ネイティブ C,C++,またはObjective-Cコードをスクリプトに公開する

Unityにより,C,C++,またはObjective-Cで書かれたカスタムの関数を C# スクリプトからコール出来ます。ネイティブ関数をバインドする方法については, プラグイン ページ を参照下さい。

アプリケーションでのアプリ内課金を準備する

Unity iOS ランタイムにより,新しいコンテンツをダウンロードする機能があり,これを使ってアプリ内課金を実装できます。詳細については ダウンロード可能コンテンツ を参照下さい。

オクルージョン カリング

Unityは オクルージョン カリング をサポートしていて,多くのオブジェクトのある複雑なシーンでパフォーマンスを高めるのに便利です。詳細については オクルージョン カリング を参照下さい。

スプラッシュスクリーン のカスタマイズ

スプラッシュスクリーン カスタマイズ ページ により起動時にゲームが表示する画像を変更する方法を確認できます。

トラブルシューティングおよびクラッシュ時のレポート

もしiOSデバイスでクラッシュを経験しているのであれば iOS トラブルシューティング ページで良くある問題や解決策について参照下さい。もしここで解決策を見つけられない場合,クラッシュに関するバグレポートを提出下さい。(メニューで: Unityエディタ上で Help > Report A Bug を選択)。

UnityターゲットでiOSとデスクトップの違い

Static TypeされたJavaScript

iOS向けの場合,JavaScriptのDynamic TypeはつねにUnityでオフになっています(これはスクリプトに #pragma strict を自動的に全てのスクリプトに付加しているのと同等です)。Static Typeはパフォーマンスを著しく改善し,iOSデバイスでは特に重要なことです。既存のiOSプロジェクトをiOSターゲット向けに切り替えるとき,Dynamic Typeを使用しているとコンパイルエラーが出ます。これを修正するのは簡単で,エラーが出ている変数を明示的に宣言するか,typeインタフェースを活用するかのどちらかの方法で解決できます。

Ogg Vorbis 音声圧縮の代わりにMP3の利用

パフォーマンス上の理由から,OSデバイスではMP3圧縮を使用すべきです。もしプロジェクトがOgg Vorbis 音声圧縮を利用する場合,それらはビルドの際にMP3に再圧縮されます。iPhoneでの圧縮音声についての詳細は オーディオ クリップ を参照下さい。

DXTテクスチャ圧縮の代わりにPVRTC

Unity iOSはDXTテクスチャをサポートしていません。その代わりにPVRTCテクスチャ圧縮がiPhone/iPadによりネイティブでサポートされています。iOSのテクスチャ形式についてはテクスチャ インポート設定 を参照下さい。

ムービープレイバック

ムービーテクスチャはiOSでサポートされていません。その代わりに,フルスクリーンのストリーミング プレイバックがスクリプティング関数を通じて提供されています。サポートされているファイル形式およびスクリプティングAPIについてはマニュアルの ムービー ページ を参照下さい。

iOS
Unity iOS の基本