アプリ開発誌

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

スポンサーサイト

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

ibtool なるもの

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

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

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

IE10でJavaScriptのデータがサーバーに送信されない時の対処法

今回はIE10で困った状態になった時の対処法を。
(あってるのかどうかわかりませんが。。。)

ASP.NETとJavaSrciptで構成されているページで、テキストボックスに入力した値がIE以外のブラウザでは正しくサーバー側に送信されているのに、IE10のみ取得できない状態にしばらくなっていました。
この状態になると、サイトにログインができなかったりするので、とても困ります。
しかも、仕事で開発中のサイトで発生しているので、まったくテストできない状態に。。。
ほかのブラウザでなんとかやっていましたが、限界がきたので、いろいろと調べてみることに。

Win8なので、Metro状態からIEを起動すると、なんということでしょう!うまく動作します。。。
しかし、デスクトップ版ではまったくうまくいかない。
プライバシーポリシーなんぞを変えてみましたが、これまたうまくいかず。

で、ようやくたどり着いたのが、IEの設定のリセット。
英語OSなので、英語名での表記となりますが、「Internet Options」→「Advanced」で「Restore advanced settings」で設定をクリアすると無事に動作しました。

結局真因はわからずじまいでしたが、なんか再起動したら治った的なWindowsのにおいを感じました。

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);

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

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

 | ホーム |  »

FC2Ad

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