Fabric bataへアプリをアップロードする

プロジェクトに直接インストールしている場合


./Crashlytics.framework/submit API_KEY BUILD_SECRET -ipaPath IAP_PATH

CocoaPodsを使ってインストールしている場合


./Pods/Crashlytics/submit  API_KEY BUILD_SECRET -ipaPath IAP_PATH


その他のオプション
     Usage:
        submit  API_KEY BUILD_SECRET        default options for upload after archive, with ipa path in environment
         additional options:
         -help                          display this message
         -ipaPath           [path to IPA]
         -emails            [tester email address],[email]
         -groupAliases      [group build server alias],[group]
         -notesPath         [release notes]
         -notifications     YES|NO
         -debug             YES|NO

In-App Purchaseを調べてみた

公式ドキュメント


開発環境で動作確認

iTunes connectでcontact infoやbank info、tax infoなどもろもろを登録する必要あり

シミュレータ

購入自体は可能だが、レシートは取得できない


ライブラリ


良さげ、Swift3.0に対応

ただし!

トランザクション処理に注意。


終了トランザクション

公式ドキュメントによると

終了していないトランザクションは終了するまではキューに残されたままになります。 
アプリケーションが起動されるたびにアプリケーションによって未完のトランザクションを終了できるように、トランザクションキューのオブザーバが呼び出されます。

アプリが途中で終了したりしても復活してくれる。
ゲームのコイン購入なんか、StoreKitの購入はできたけど、サーバに付与処理を行う前に、
ネットワークが切れて、アプリKillして・・・ってなってもまた起動時にオブサーバが呼ばれるので、安心。


ですが、ほとんどのライブラリは、ライブラリ内で処理完了にしてしまってます。

なのでStoreKitにトランザクション完了を知らせる前に、カスタムの処理を追加できるようなライブラリを作ろう・・・。

DataStoreの辛いところ

# DataStoreの限界 FacebookやインスタグラムのようなSNSで、投稿、公開範囲、お気に入りなどの機能をDataStoreで実現しようとするとどうしても辛くなる。 ## DataStoreで実現可能? - users - id - feeds - i...