アプリ開発誌

ソフトウェア・iPhoneアプリ関連のTipsなど

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ibtool なるもの

またも久し振りの更新です。
最近はiOSアプリに加え、Macのアプリをちょこっとさわり始めていて、Objective-CとXCodeな日々が続いていてますが、今日はインタフェースファイルのローカライズについて。

基本的に日本語と英語のUI画面を作成してアプリをリリースするのですが、UIを途中で変えることが多くて、そのたびに日本語と英語のXIBファイルをいじるという日々を過ごしていました。

なんとかならんのかい!って思ってると、以下のページを発見。
ibtoolによるnibファイルのローカライズ
おぉー、やりたいことが書いてある!すげーってことで実践すると、いい感じになりました。
これで開発が進みます。ありがたや、ありがたや。
スポンサーサイト

AdMob対応

ブログの更新が超久し振りになりました。。。本業と家の引越が忙しくて、iPhoneアプリ開発の時間がとれなかった。。。

現在「GPS Deloger」のiPhone5対応をしております。
もうすぐ完了ですが、本バージョンから、AdMobを入れてみようかと思い、先日リリースした「片手カメラ」のコードをもとに作ってみたものの、またハマってしまった。

1. "_OBJC_CLASS_$_MFMailComposeViewController", referenced from:
objc-class-ref-to-MFMailComposeViewController in libGoogleAdMobAds.a(GADOpener.o) などのコンパイルエラーでる
→ MessageUI.framework が追加されていなかったための模様。追加して解決

2. [gadView loadRequest:[GADRequest request]]; でエラー発生
→ Build Settings の Other Linker Flag に 「-ObjC」の追加が必要。追加して解決

人間って一回だけやってもなかなか覚えないものですね。。。

UIImagePickerControllerのシャッターがおりなかった原因

今しがた「片手カメラ」Ver.1.1をAppleに申請しました。
これでおそらくシャッターが切れなくなる問題は解決するのではないかと思われます。

原因はおそらく、Memory Warningを受けてからの
viewDidUnloadで、ImagePickerControllerをnilにしているところかと。
今回のアプリは、ImagePickerControllerをずっと使い回しているので、
dealloc時にしかreleaseしません。
ただ、viewDidUnloadでnilにしていたのですが、どうやらこのviewDidUnloadというのは
実際にViewがUnloadされるタイミングで呼ばれるのではなく、MemoryWarning時に呼ばれるとのこと。
その後viewDidLoadが呼ばれます。

今回の修正では、viewDidUnloadのImagePickerController=nilをやめ、
viewDidLoadで、ImagePickerContollerがnilじゃない場合に、allocすることにしました。

これで動作的には大丈夫ですが、果たしてあっているのだろうか・・・
無事にリリースされて、問題が修正されていることを祈るのみ・・・

Memory Warningを強制に呼ぶ方法

多くの方から、「片手カメラ」のシャッターがきかないという不具合の連絡をいただいております。
現在修正中ですが、実機で起こるものの、デバッグ環境で発生しないという困った事態になっています。

Memory Warning当たりが怪しいようなのですが。。。

そこで、強制的にMemory Warningを呼び出して、テストしようと思い、調べてみました。
以下のコードでMemory Warningを呼び出せるようです。

実機:
SEL memoryWarningSel = @selector(_performMemoryWarning);
if([[UIApplication sharedApplication] respondsToSelector:memoryWarningSel])
{
[[UIApplication sharedApplication] performSelector:memoryWarningSel];
}

シミュレーター:
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (CFStringRef) @"UISimulatedMemoryWarningNotification", NULL, NULL, true);

シミュレーターは試してないので動作するかわかりませんが。。。

くれぐれも申請するアプリに埋め込まないように注意必要です。

iPhoneアプリ「ウチココ」Ver.2.2を申請しました

iPhoneアプリ「ウチココ」のVer.2.2の実装が完了したので、Appleに申請しました。

今回はiPhone5対応ですが、XCode4.5になってから、iOS 4.0のサポートが難しいようなので、
本バージョンから4.3以上が対応となっています。

他にも、AdMobの実装をしてみました。
Googleに情報登録後、AdMob SDKをダウンロードし、サンプルコードにそって実装。
コード量はそんなに多くないかな?って思ったら、コンパイルエラーが多発。
うーむ。。。
Google先生に聞いてみると、いくつかのFrameworkの追加が必要との事。
追加で入れたのが、AdSupport/AudioToolbox/SystemConfigurationの3つです。
コンパイルのエラー内容がわかりにくく手間取りましたが、それ以外の実装は比較的楽でした。

また、iPhone5対応をすると、iPhone5用のスクリーンショットが必要になってきます。
iOSのアプリって、ソフト開発以外の別の作業のボリュームが結構多いので大変ですね。

後は無事に審査が通るのを祈るのみ。。。

次は「片手カメラ」のiPhone5対応と不具合修正にとりかかろう。

 | ホーム | 

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。