devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

ここ数日、AIR用のNativeExtension(iOS向け)の作成方法について調べていました。

目的は「AIRアプリにAdmobを実装する」こと。

AdmobのANEは、ウェブを検索すれば、有料/無料ともに幾つか見つかります。
無料のものを幾つか試してみたのですが、残念ながら自分が必要としているイベントを拾えませんでした。
今後の事も考えて、自作の道を選んでみました。

手始めに

  • ANEへ値を渡す
  • ANEから値を受け取る

を試すため、NSUserDefaultsをラップしたANEを作ってみました。

作成したANEファイルとサンプルコードを以下に掲載します。
※ どうやって作ったかは、後日まとめる予定

続きを読む

やりたいこと:

開発中のアプリがファイルに出力した内容を確認したい。
NSUserDefaultsで書き込んだ内容が、正しく書き込まれているかを確認したい。

方法:

XcodeのOrganizerを使うと、アプリのSandbox内のデータファイルを見ることができます。

Organizerは、Xcodeのメニュー「Window」-「Organizer」で開きます。

続きを読む

AppleのDeveloperサイトから異なるバージョンのXCodeをダウンロードしてインストールすれば、
複数のバージョン(iOSのSDKも含めて)共存することが可能です。

Apple Developer
https://developer.apple.com/jp/

旧バージョンのXcodeをダウンロードできるページは、Loginした先のページにあります。
無料開発者登録でも可能かは未確認です。

AppleのDeveloperサイトからiOS Dev Centerへ移動します。

XCodeのダウンロードのところに、「Looking for an older verison of Xcode?」というリンクがあります。
リンク先のページで、必要なバージョンのXcodeをダウンロードします。

自分の場合は、既にXcode4.5.1がインストールしてあります。
これからインストールするXcodeに上書きされては困るので、アプリケーションフォルダを開いてインストール済みのXcodeのファイル名をXcode451.appに変えました。

あとは、ダウンロードしたファイル(xcode_4.3.3_for_lion.dmg)をダブルクリックして、表示されたXcodeをアプリケーションフォルダにドラッグアンドドロップすればOKです。

これで、iOS5.1とiOS6のSDKを使うことができるようになりました。

Windowsだと、アプリのインストール時には、レジストリなどに情報が記録されるので、バージョンだけが違うアプリをインストールするのが難しい。その点、macはあっさりしてるね。

自分が知らないだけで、レジストリみたいなものが存在しているのだろうか・・・?

AdMobはGoogleが提供しているモバイルアプリ向け広告です。

現在AdMobのサイトからダウンロードできる、iOS向けSDK(GoogleAdMobAdsSdkiOS-6.2.1)には必須項目として、
「XCode 4.5 or later」
と記載されていました。

AppStoreでXCodeを4.5.1へバージョンアップし、Objective-CでAdMobの実装を試してみました。

注意:AdMobを表示するためには、あらかじめAdMobでアカウントを作成し、広告の設定などを済ませておく必要があります。

続きを読む

疑問:

アプリ内で表示される文字列を日本(日本語)と、それ以外の国(英語)で変えて表示したい。

解答:

Capabilitiesクラスのlanguageプロパティを参照することで、コンテンツが実行されているシステムの言語を取得することができます。

日本語は「ja」、英語は「en」。

その他言語はActionScriptのドキュメントを参照してください。

feathersでは画面(メニューやゲーム、オプションなど)をScreenコンポーネントとして扱います。
ScreenNavigatorコンポーネントを使うと、これらの画面を遷移を含めて扱うことができます。

画面を2つ用意して、ScreenNavigatorコンポーネントを使って遷移させてみました。

続きを読む

画像とフォントを用意して、radioボタンを実装してみました。

続きを読む

疑問:

最近、Starlingフレームワークを使ったプロジェクトを作成することが多い。
プロジェクトを作成するたびに、index.template.htmlファイルを編集してwmodeをdirectに設定するのが面倒。
手間を省く方法は無いのか?

解答:

SDKに含まれるテンプレートファイルを編集する事で可能です。

続きを読む