TestFlightのすすめ

デバイスへのアプリのデプロイは、iOSアプリを開発する上でストレスの溜まる作業の一つです。ノンプログラマーの人に説明するには手順が複雑だし、かといって動作確認の度に自分の作業を中断し、彼らのデバイスを預かってアプリをデプロイして渡すのは集中力を低下させます。このストレスを低減してくれるサービスの一つとして、TestFlightを紹介します。 “TestFlightのすすめ” の続きを読む

iOS/OSXのテスト結果をTestLinkに報告するライブラリ

手動テストの結果をTestLinkで管理するようになってから、自動テストの結果もTestLinkで管理したくなったのでXML-RPCを使ってテストの結果をTestLinkに送信するクラスを作成しました。

ダウンロード

ソースコード/サンプルプロジェクト一式をgithubで公開しています。

使い方

SYTestLink* testlink = [[SYTestLink alloc] initWithEndpointURL:PNTestLinkEndPointURL
                                                       devKey:PNTestLinkDevKey
                                                   testPlanID:PNTestLinkTestPlanID
                                                      buildID:PNTestLinkBuildID];
// Do some test
if (testFailed) {
    [testLink sendReportAsPassedForTestCaseID:testCaseID];
} else {
    [testLink sendReportAsFailedForTestCaseID:testCaseID];
}
[testlink release];
  1. 非ARCです。
  2. 投稿するにはTestLink側でXML-RPCの設定を有効にしておく必要があります。

SKPaymentQueueのaddPaymentとTransaction

StoreKit APIを使う上で不便な点の一つに、生成したTransactionを追跡するのが難しい、という問題があります。PaymentをQueueに積むとTransactionが生成されますが、その生成されたTransactionの情報を取得する方法について調べていきましょう。
“SKPaymentQueueのaddPaymentとTransaction” の続きを読む

SKPaymentTransactionについてkwsk

StoreKitのトランザクションには、トラブルが発生した際に重要になる情報が多く含まれています。SKPaymentTransactionオブジェクトに含まれる情報と、それらの挙動について確認していきましょう。なお、複雑になるのでNon-Consumableプロダクトのリストア関連の項目については、基本的に省略しています。 “SKPaymentTransactionについてkwsk” の続きを読む

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 GuideStoreKit Framework ReferenceにはFast App Switchingやスリープに関する説明がありません。しかし、購入手続きの途中にアプリ切り替え(Fast App Switching)が発生すると、アプリケーションは正しくトランザクションの状態変化を把握できなくなってしまいます。そこで、この問題についての対策を考えます。
※2012/05/22追記 この部分の挙動が変更になったようです。再検証を行ったのでこちらの記事を参照してください。

注意

この記事は、Apple公式ドキュメント類では説明/推奨されていない実装方法についての考察です。挙動や実装は将来的に大きく変わる可能性があり、動作は一切保証できません。参考にする程度にとどめ、もし下記に書かれている内容を実装する場合は自己責任で行ってください。 “StoreKitトランザクションとFast App Switching” の続きを読む