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” の続きを読む

StoreKit(組み込みプロダクトモデル編) まとめ

というわけで、StoreKitの挙動について細かく検証してきましたが、少なくとも組み込みプロダクトモデル編については、ここから先はかなり細かい話になってきてしまうので一旦ここでまとめておきます。
なお、この情報は2011年11月現在のiOS 5.0におけるもので、将来的に仕様が変わっている可能性があります。また、公式ドキュメント等には記載されていない独自の検証に基づく見解が含まれます。参考程度に読んでください。そして気づいた点を躊躇せず指摘してください。 “StoreKit(組み込みプロダクトモデル編) まとめ” の続きを読む