Apple Wireless キーボードの、キーを再びつけ直す方法

本日は、スターバックスでちょっと執筆活動などしようと思い、iPad に Apple Wireless Keyboard を持って外出してきました。以前は、wireless keyboard の使い心地もいまいちで、カーソルキーが使えない状況があったりした記憶があったのですが、ほぼ違和感無く、キーボードだけで変換候補の選択も出来たり、非常に便利になっています。それで家に帰ると、鞄の荷物の中でキーボードの上矢印キーに負荷が掛かったようで、キーボードのキーが外れてしまいました。。。

キーボードの上矢印キーが外れた状態
キーボードの上矢印キーが外れた状態

これをつけ直す作業がかなり根気のいる作業だったので、忘れないように記録しておきます。
“Apple Wireless キーボードの、キーを再びつけ直す方法” の続きを読む

iOSアプリのアップデート時パスが変わるためファイルパス保存は注意!

追記:2012/7/16 ソースの誤記を修正しました。

よくある間違いですが、備忘のために記しておきます。iOSアプリを、AppStore経由でアップデートした場合、フォルダのアドレスが変更されます。アプリケーションフォルダの基本パスが変わる訳です。しかし、データ(Documentフォルダの内容、Libraryフォルダの内容)はアップデートの際はコピーされます。それで、アップデート前に、ファイルパスをフルパスで保存していると、アップデートのあとに、ファイルを参照しようとするときに、ファイルが見つからなくなってしまいます。その対応法について記録しておきます。

“iOSアプリのアップデート時パスが変わるためファイルパス保存は注意!” の続きを読む

自宅作業が多い方にオススメ!IKEA で作った快適自宅オフィス

概観
概観

追記:2013/9/16
引っ越して作った新しいオフィスの記事はこちら4畳半のスペースにIKEAで作った!見えるところにものを置かない、快適ホームオフィス空間 | Zero4Racer PRO Developer’s Blog

追記:2015/8/14
さらに改善した新しいオフィスの記事はこちらIKEAの家具で作った!スタンディングで作業できるヘルシーホームオフィス |

先日、IKEAに行って、かねてから作りたかった自宅オフィスを作ることが出来たので出来た結果を備忘をかねて共有します。皆様の自宅オフィス作りに役立てていただければと思います。

iPad と Mac を使って快適に文章を書く環境についても書きました!これは便利!iPadとMacで実現する快適物書き環境 « Zero4Racer PRO Developer’s Blog よろしければご覧ください。

リビングにIKEAで作る2畳の快適仕事環境 – @masuidrive blog にも、良いアイディアがたくさんあります。
ともぞう (7wk) on Twitterさんも、自宅オフィスの記事を書いてくださいましたので、共にご覧下さい。IKEAで作った快適?自宅オフィス – 備忘録的な @7wk

Masahiko OHKUBO (mah_jp) さんも、早速作った二段机を公開してくださいました。二段机完成 (I made a mini table) | Flickr – Photo Sharing!
“自宅作業が多い方にオススメ!IKEA で作った快適自宅オフィス” の続きを読む

Xcode 4.2 で、iOS 3、iOS4のシミュレータを追加する方法

今まで気付いていなかったのか、存在しなかったのか分かりませんが、これによって、テストが実機無くてもある程度出来るようになりますね。

More Simuratorを選択
More Simuratorを選択

More Simuratorというのがあったんですね。
シミュレータをインストール
シミュレータをインストール

  • iOS4.3
  • iOS4.0-4.1
  • iOS3系

と充実しているので、ここからインストール。まだインストール中なので実験していませんが、これで動くはずですよね。

[iOS]リリースビルドでのみクラッシュする状況への対処について

昨日、作成の協力をしていたアプリが、リリースされました。
細川茂樹のアプリマガジン App
カテゴリ: エンターテインメント
価格: 無料


こちらのアプリで、アプリ内購入が成功した際に、リリースビルドでのみエラー発生してクラッシュする問題が発生しました。クラッシュした後にアプリを再起動すると、購入処理は終了しており、その後は問題なく使用することが出来ます。対処した方法について記述します。
“[iOS]リリースビルドでのみクラッシュする状況への対処について” の続きを読む

iOS CoreData を使用しながら、デバッグをする際の注意点

CoreData を使って見ているのですが、なかなか便利ですね。特に、Updateの際に、NSManagedObjectのオブジェクトのデータを書き換えるだけで、データが反映されるのはいいです。ときどき、動作がおかしいと思うことがあったので、注意点を備忘として記載しておきます。

  1. NSManagedObjectContextのセーブをする必要がある
  2. 今回のプロジェクトでは、共用のmanagedObjectを作成して、それを、

    • アプリがバックグラウンドに映る際
    • アプリが終了する際

    に保存するようにしています。これをしないと、ローカルでは変更されているように見えても、次回アプリを起動した時に、データが保存されなくなってしまいます。
    こんな感じです。

    - (void)applicationDidEnterBackground:(UIApplication *)application
    {
    [self saveContext];
    }

    - (void)applicationWillTerminate:(UIApplication *)application
    {
    // Saves changes in the application's managed object context before the application terminates.
    [self saveContext];
    }

    - (void)saveContext
    {
    NSError *error = nil;
    NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
    if (managedObjectContext != nil)
    {
    if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error])
    {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
    }
    }
    }

  3. デバッグ中に保存されない場合は、正しくデータの保存処理が呼ばれて呼ばれていない可能性がある
  4. これで少し迷ったのですが、デバッグ中に、Xcodeのストップボタンを押した時には、上の、

    - (void)applicationWillTerminate:(UIApplication *)application
    - (void)applicationDidEnterBackground:(UIApplication *)application

    が呼ばれないので、データが保存されません。その場合は、直前の変更が無かったことになってしまいます。

分かっていれば難しくないのですが、忘れていると、”保存されたデータが無くなった”を感じてしまうことがあったので、備忘で記録しておきます。

iOS 開発中に、アプリ内購入テストサーバに接続出来なくなった原因

本日12/29から、無事にiTunesConnectサイトのホリデー休暇も終わったのですが、こーでぃんぐしていると、
Payment Transaction END Failed: … Error Domain=SKErrorDomain Code=0 "Cannot connect to iTunes Store"
というエラーが出て、アプリ内購入に接続出来ませんでした。まだホリデーで繋がらないのかなと思ったのですが、よくよく調べてみると,原因は、

provisioning プロファイルが、正しいものを使っていなかった。

という、至極単純な理由でした。正しいプロファイルを選択して、アプリを削除して,クリーンインストールすると問題なく正しく使用出来ました。

サクッと Cocos2D ゲームを作ろう!(1)SpriteHelperでのテクスチャー処理

みんなで玉入れ!運動会 App
カテゴリ: ゲーム
価格: 無料

みんなで玉入れ!運動会 iPad アプリが、無事に1.0.1バージョンに更新されました。バグ修正、また、メニューにサウンドを追加しました。このアプリは、フレームワークにHome – Kobold2D™ – Kobold2D ,物理エンジンにBox2D | A 2D Physics Engine for Games を使用しています。

そして、レベルエディタとして、LevelHelper、スプライト作成ソフトとして、SpriteHelperを使用しました。これらのツールによって、多くの作業をグラフィカルに行うことが出来るので、プログラマーの作業を大幅に軽減することが出来ます。ちなみに、玉入れアプリは、基本の玉入れの動作はLevelHelper、SpriteHelperの勉強をかねて、5時間ほどで作ることが出来ました。

(そのあと、メニュー、デザイナとの共同作業、スコア表示、ゲームセンター、アプリ内購入などで、あと数日掛かっているんですが…)

LevelHelper App
カテゴリ: 開発ツール
価格: ¥1,600

SpriteHelper App
カテゴリ: 開発ツール
価格: ¥1,100

SpriteHelperには、お試し版の SpriteHelper FREEもありますが、機能制限があるので、実際にゲームを作るときは、通常版が必要かもしれません。
SpriteHelperFree App
カテゴリ: 開発ツール
価格: 無料

それでは、SpriteHelperから始めましょう。
“サクッと Cocos2D ゲームを作ろう!(1)SpriteHelperでのテクスチャー処理” の続きを読む

iPadアプリ「みんなで玉入れ!運動会」発売開始!+アイコンを魅力的にする一つの方法

iTunes App Store で見つかる iPad 対応 みんなで玉入れ!運動会 本日ダウンロード開始しました。プロトタイプを一晩で作ってから、挿絵、メニューの作成、スコアを付ける、ゲームセンター、アプリ内購入、デザイナに絵を描いてもらったりして、週末プロジェクトでしたが、約1月掛かりました。無料アプリですので、是非是非。

 

“iPadアプリ「みんなで玉入れ!運動会」発売開始!+アイコンを魅力的にする一つの方法” の続きを読む

iOSのXML解析をJSONみたいに簡単に出来る XML Reader が便利

iOS のXML 取得、解析処理には基本的ないくつかの処理があります。
XML の処理方式として、

  1. SAX
  2. イベント駆動で行うXML解析

  3. DOM
  4. インターフェース指向で、木構造として扱う方式

があり、iOSでは、

  • NSXML(標準, SAX, Objective-C)
  • Libxml(標準, SAX, C言語)
  • TouchXML, KissXML (外部ライブラリ、DOM)

など、あるのですが、イベントを自分で記述したり、解析のためにオブジェクトをたどったりと、結構めんどうです。それを簡単にする方法があったのでご紹介します。
“iOSのXML解析をJSONみたいに簡単に出来る XML Reader が便利” の続きを読む