ANEを作成するためには、iOS側のプログラムをまとめたスタティックライブラリ(.aファイル)が必要となります。その制作方法やテストの仕方をこちらでご紹介します。 この記事で使用しているXcodeのバージョンは9.2です。 *プロジェクトの作成 [#kc36aff3] まずXcodeでテスト用にiOS端末上で実行するためのプロジェクトを作成します。 具体的には、ボタンを押すとアラート画面が表示されるアプリです。 まずXcode起動後にメニューからFile->New->Projectと選び、iOSタブから「Single View App」を選択します。 &ref(newProject.jpg,mw:480,mh:360);クリックで拡大 プロジェクト名などを指定します。ここでは「AneAlertSample」としています。Langageは「Objective-C」です。他の言語でもANEが作れるかも知れませんが、資料が一番多いObjective-Cが一番無難です。Teamの所には登録済みの開発者アカウントを入れておきましょう。 &ref(newProjectSetting.jpg,mw:480,mh:360);クリックで拡大 あとは適当な場所にプロジェクトを作成します。 プロジェクトが作成できたら、まずProjectの設定項目からInfoを選び、Deployment Targetを「8.0」などの低いバージョンに設定します。 &ref(projectInfo.jpg,mw:480,mh:360); クリックで拡大 これを行わず、最新のバージョンを指定したままだと、64bitのライブラリしか作成されなくなります。しかしAir SDKによるANE作成は現在(ver.28)のところ、64bitと32bitの両方が含まれているユニバーサルなライブラリにしか対応していません。そのため、64bitしか対応していない最新のバージョンではANE作成時にエラーが発生します。忘れずにターゲットに古いバージョンを指定するようにしてください。 次に「Build Settings」で「All」タブを選び、「Architectures」の各項目を設定します。 &ref(BuildSettings.jpg,mw:480,mh:360);クリックして拡大。 特に「Build Active Architectures Only」を「No」にする事を忘れないでください。これが「Yes」のままだと、テスト中のデバイスのArchitectureしか有効にならないので、64bitのみのライブラリがビルドされたりといったことがおこり、前述のユニバーサルなライブラリの問題が発生することがあります。 他の項目は基本的にデフォルト値のままで大丈夫です。 *テスト用ボタンの配置 [#q4eb0dfa] ANEの作成はけっこう面倒です。それを何度もやらなくてすむように、iOS上でテストはできるだけ行ってから、ANEの作成にうつった方が効率的です。そのためのテスト用ボタンを設置します。 Xcodeでプロジェクトを作成すると、デフォルトでは「Safe area」というレイアウトを利用しています。しかし、Build TargetをiOS8にしていると、「Safe area」はiOS9からなので、エラーが発生します。プロジェクトを開いただけなら問題ないように見えますが、実行しようとしたり、「Main.storyboard」を表示しようとすると以下のようなエラーが出ます。 &ref(safeAreaError.jpg,mw:480,mh:360);クリックして拡大 テスト用のアプリでは、特に「Safe area」は利用しないので削除します。 そのために、まず「Main.storyboard」の「Safe Area」を選択します。 &ref(safeArea.jpg,mw:480,mh:360);クリックして拡大 次にXcodeのウインドウの右上のボタンを、次にその下のタブの一番左をアクティブにして、右側に各種情報が出るレイアウトにします。 &ref(rightTop_0.jpg,mw:480,mh:360); すると右端中段に「Interface Builder Document」という項目が現れるので、「Use Safe Area Layout Guides」というチェックボックスのチェックを外します。すると「Safe Area」がなくなり、エラーも消えます。 &ref(safeAreaCheck.jpg,mw:480,mh:360);クリックして拡大 ファイルの同期がうまくいっていないのか、実際にビルドするとなぜかまたこのエラーが出ることがありますが、上記の手順を繰り返すとたいてい消えます。 &font(Red){作成中};
(This host) = https://njf.jp