Category Archives

4 Articles

【AIR for iOS】iPhoneアプリがApplication Loaderでアップロード出来なくなった件。

by Teruaki Tsubokura 0 Comments

本日、とあるアプリの更新を行おうといつものようにAIR for iOS(3.9)で書きだしたアプリをApplication Loaderで送信した所、見慣れないエラーが発生しました。

loader

This bundle is invalid. Apple is not currently accepting application built with this version of the SDK.

どうやらこのSDKバージョンのアプリは使えませんよ。と言われているっぽい。
つい先々週くらいには普通にアップ出来たのに何故だ…。と思い色々と調べているとある記事を見つけました。

2014年2月1日以降申請されるiOSアプリ、「iOS 7」への最適化と「Xcode 5」の使用が必須に! | gori.me(ゴリミー)

な、なんだってー!と思ったのですが、AIR SDKも最新版の4.0が出て、それでXcode+iOS7に対応してるとの事だったので一安心。
早速、AIR SDKの公式サイト から最新のAIR SDK 4.0をダウンロードしてきてFlashCCに設定。
書き出してアップロードすればいいのね楽勝ー♪ …と思っていたのですが、なんと再び同じエラーが!

loader

ぐぬぬ…。そこから3時間ほど海外のフォーラム等を漁りまくって解決方法を見つけることが出来ました!

現在の正式版SDKは4.0.0.1390が最新だったのですが、なんと正式版の4.0SDKではXcode+iOS7対応ができていないようです。おかしな話ですよね…。汗
そこでここのフォーラム(http://forums.adobe.com/thread/1360918)にあった不具合を修正したベータ版の4.0.0.1619 SDKを使った所、無事にApplication Loaderを使ってアップロードすることが出来ました!
以下にリンクを張っておきます。

http://labsdownload.adobe.com/pub/labs/flashruntimes/air/air4-0_sdk_mac.tbz2 for mac
http://labsdownload.adobe.com/pub/labs/flashruntimes/air/air4-0_sdk_win.zip for windows.

Adobeもこの不具合を認識しているので、すぐに正式版としてリリースされると思いますが、それまでの間にiPhoneアプリの申請が必要な方はベータ版SDKを使ってみてください。

【AIR for Android】ステータスバーの高さを取得する

AIR_for_Android

Androidは機種の解像度によって上部のステータスバーの高さが変化するようです。
参考:http://newichiros-memo.blogspot.jp/2012/04/android_21.html

そのためAIR for Androidでフルスクリーンモードでないアプリを作る際には、ステータスバーの高さ分だけアプリが下に下がった状態で起動するので、ステータスバーの高さをあらかじめアプリの高さから差し引いて表示オブジェクトを配置したりサイズを拡縮する必要が出てきます。
ステータスバーの高さを取得する関数等はAIRには用意されていなかったので、自分なりに色々と触っていたら簡単に取得できる方法を見つけたのでメモしておきます。

//ステータスバーの高さ = フルスクリーン時の画面の高さ - ステータスバーを含まないステージの高さ;
var statusbar_height:int = stage.fullScreenHeight - stage.stageHeight;

AIR for Androidでアプリ作ってる方からしたら当たり前の事かもしれないですね…。

【AIR for Android】Androidアプリのスプラッシュ画面を実装する

by Teruaki Tsubokura 0 Comments

最近はスマートフォンの普及も進み、お仕事でもAIR for iOS/Androidを使用してモバイルアプリを作る機会が増えてきましたが、Android版アプリを作っていると1つ問題にぶち当たりました。

なんとFlash CS6では現状スプラッシュ画面が設定できないのです。

そのため、Android版アプリでは起動時に何も表示されない黒画面が数秒~数十秒続き、バグっぽく見えてしまいます。
そこで少し無理やりではありますが、Flash Builder 4.6 + Flex SDKを使用してAndroidアプリにスプラッシュ画面を設定したのでその方法をご紹介します。

まず、Flash Builderから新規にFlexモバイルプロジェクトを作成してメインのmxmlに以下のソースを記述します。
[html]
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
backgroundColor="#000000"
splashScreenImage="@Embed(‘assets/Default.png’)"
splashScreenMinimumDisplayTime="3000"
splashScreenScaleMode="letterbox">
<fx:Declarations>
<!– 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 –>
</fx:Declarations>
<s:SWFLoader source="./content.swf" width="100%" height="100%"></s:SWFLoader>
</s:Application >
[/html]
実はもうこれだけでスプラッシュ画面を設定したAndroidアプリが出来ちゃうんです。
具体的には…
[html]
splashScreenImage="@Embed(‘assets/Default.png’)"
[/html]
ここでスプラッシュ画面を設定して、
[html]
<s:SWFLoader source="./content.swf" width="100%" height="100%"></s:SWFLoader>
[/html]
ここで中身となるcontent.swfを読み込んで画面いっぱい(100%)に表示しています。
あとはFlash Builderから書き出しを行えばスプラッシュ画面が設定されたアプリが書きだされます。

これでアプリ起動直後にスプラッシュ画面が出るので黒画面で使用者を不安にさせる事もなくなりますね!

【AIR for iOS】アプリの最低動作OSバージョンを設定する【AIR for Android】

by Teruaki Tsubokura 0 Comments

AIR for iOS/Androidでアプリを作成していて、最低動作OSバージョンの指定をしなければいけない事が出てきたので備忘録としてまとめておきます。
※AIR for iOS/Android共に、アプリケーション記述ファイル(AppName-app.xml)の中で設定します。

■iPhoneの場合
<infoAdditions>タグの中にMinimumOSVersionパラメータを設定。

例)iOS5以上

[code]
<iPhone>
<InfoAdditions><![CDATA[

・・・

<key>MinimumOSVersion</key>
<string>5.0</string>

・・・

]]></InfoAdditions>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>
[/code]

■Androidの場合
<manifest>タグの中でminSdkVersionにAPIナンバーを設定。

ちなみに
API8・・・Android2.2
API10・・・Android2.3
API11・・・Android3.0

例)Android2.3以上

[code]
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">

・・・

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10"/>

・・・

</manifest>
]]></manifestAdditions>
</android>
[/code]