StoreKitのトランザクションには、トラブルが発生した際に重要になる情報が多く含まれています。SKPaymentTransactionオブジェクトに含まれる情報と、それらの挙動について確認していきましょう。なお、複雑になるのでNon-Consumableプロダクトのリストア関連の項目については、基本的に省略しています。 “SKPaymentTransactionについてkwsk” の続きを読む
Sinkオブジェクトの生成
Sinkオブジェクトの生成について、詳しく見ていきましょう。
“Sinkオブジェクトの生成” の続きを読む
sink.jsが面白い HTML5で音響合成
5年程前にブラウザ上で音響合成をする方法を模索していて、当時はレイテンシや負荷の問題を解決できず断念してしまったのですが、最近Web Audio APIがアツいという話を耳にして、早速試してみました。その中でもsink.jsを使うと、かなり簡単にブラウザ上での音響合成を楽しめます。まさに夢がひろがりんぐ。 “sink.jsが面白い HTML5で音響合成” の続きを読む
Mac上にWordPressを設置する
WordPressの使い勝手が年々良くなってきて、ここ1-2年は仕事でも個人でもCMSが必要な時にはほぼWordPressを使うようになりました。それに伴い、自分自身でテーマをいじったりプラグインを書いたりすることも増え、ローカル(Mac)にWordPressを設置する機会も増えました(同時に、周りの人に「ローカルに設置して作業してね」と頼む事も多くなった)。備忘録的にMac上にWordPressを設置する方法を書いておきます。 “Mac上にWordPressを設置する” の続きを読む
GCDAsyncUdpSocket
11月末にAsyncUdpSocketのGCD対応版であるGCDAsyncUdpSocketが公開されていました。 “GCDAsyncUdpSocket” の続きを読む
cocos2d v2.0
少し前ですが、cocos2dのv2.0のbeta版がリリースされていました。 “cocos2d v2.0” の続きを読む
LinuxサーバーでBasic認証をする時の注意点
Basic認証は、手軽にWebページにアクセス制限をかける方法としてよく使われています。手順もそこまで難しくないし、大抵のレンタルサーバーでも使えます。しかし、このBasic認証、気をつけないといけない点があります。 “LinuxサーバーでBasic認証をする時の注意点” の続きを読む
NotificationCenterを使ったFast App Switching対応
iOS4以降、iOSアプリを作る場合はマルチタスク(Fast App Switching)の対応を考慮しなければいけなくなりました。バックグラウンドに入ったらアプリを終了するようにして、マルチタスクをサポートしないようにすることもできますが、AppStoreでリリースされている多くのアプリがマルチタスクをサポートしており、ユーザがマルチタスクに慣れていることを考えると、できるだけマルチタスクをサポートしておきたいものです。
Fast App SwitchingのハンドリングはAppDelegateで行っている人も多くいると思いますが、コードの再利用性を考えるとNotificationCenterを使った方が効率的な場合があります。
“NotificationCenterを使ったFast App Switching対応” の続きを読む
StoreKitトランザクションとFast App Switching
久しぶりにStoreKitについての記事です。In-App Purchase Programming GuideやStoreKit Framework ReferenceにはFast App Switchingやスリープに関する説明がありません。しかし、購入手続きの途中にアプリ切り替え(Fast App Switching)が発生すると、アプリケーションは正しくトランザクションの状態変化を把握できなくなってしまいます。そこで、この問題についての対策を考えます。
※2012/05/22追記 この部分の挙動が変更になったようです。再検証を行ったのでこちらの記事を参照してください。
注意
この記事は、Apple公式ドキュメント類では説明/推奨されていない実装方法についての考察です。挙動や実装は将来的に大きく変わる可能性があり、動作は一切保証できません。参考にする程度にとどめ、もし下記に書かれている内容を実装する場合は自己責任で行ってください。 “StoreKitトランザクションとFast App Switching” の続きを読む
TestLinkのイケてる点とイケてない点
2011年終盤の個人的な関心の一つは、テスト体制の強化でした。
自分の仕事/プライベートで関わったプログラムで今年一年の間に見つかったバグについて、「自動テスト/人力によるテストのどちらによって防ぐ事ができたか」という割合を考えてみると、自動テストでは対応できなかったと思われるケースが多かったように思います。特にiOS/Androidアプリケーション、MacアプリケーションのUI関連で発生するバグはやはり今の段階で自動テストで対応していくには難しい部分が多くあります。
自動テストに頼り始めると、人力でのテストはとても面倒に感じられるようになります。テストの手順/内容をわかりやすく説明しなければいけない、テストを実行してくれる人を募集/確保しなければいけない、自動テストに比べると圧倒的に時間がかかる…等。これらの要素は人力テストの実行に消極的になるには十分です。それを防ぐためには、人力でのテスト実行の効率化をしていく必要がありました。
その中の対策の一つがTestLinkを使ったテスト全体の効率管理でした。先日は設置方法についてのポストを書きましたが、しばらく実際に使ってみての実感を書きます。 “TestLinkのイケてる点とイケてない点” の続きを読む