addObserverForName:object:queue:usingBlock:の罠

iOS 4からNSNotificationCenterに追加されたaddObserverForName:object:queue:usingBlock:メソッドを使うと、コールバックをブロックで指定することができるのでとても便利です。しかし、従来のセレクタ指定型のaddObserver:selector:name:object:のブロック版、という認識で使ってはいけません。 “addObserverForName:object:queue:usingBlock:の罠”の続きを読む

MacにインストールしたJenkinsのメンテナンス

大分更新をさぼってしまいました。アプリ開発にJenkinsを使い始めて1年以上立ちました。今やJenkinsはインフラと課しているので、メンテナンスが重要になってきました。 “MacにインストールしたJenkinsのメンテナンス”の続きを読む

Jenkinsを使ったiOSアプリビルド自動化12 ビルドしたアプリを配布する(1)

テストの自動化が実現できたので、今度はビルドをTestFlightにアップロードし、アドホックインストールできるようにします。少し長くなるので、記事を分けて書きます。 “Jenkinsを使ったiOSアプリビルド自動化12 ビルドしたアプリを配布する(1)”の続きを読む

Unityプロジェクトをコマンドラインからビルドするためのgemを作った

UnityアプリケーションをJenkinsでビルドする際、いちいちスクリプトを記述するのが面倒で、管理の面でも不便なので諸々を自動化するgemを作りました。 “Unityプロジェクトをコマンドラインからビルドするためのgemを作った”の続きを読む

レシートのverifyとSandbox

StoreKitを使ってアプリ内でアイテムの購入が行われると、レシートが発行されます。Appleは不正防止のため、レシートの内容が正しいかどうかverifyする機構を用意していますが、この機構を使うには若干注意が必要です。 “レシートのverifyとSandbox”の続きを読む

Non consumableプロダクトとRestoreボタン

最近妙に目立つ位置にアプリ内課金用のRestoreボタンが追加されたアプリが多いなと思ったら、どうもアプリ内課金で購入したプロダクトのリストアに関する審査が少し変化してきているようです。 “Non consumableプロダクトとRestoreボタン”の続きを読む

Macで動くボーカルシンセを作る

ソフトウェア開発に限らず、自分から裏側とか経緯を話すのはいいわけっぽくなってしまうので好きではないのですが、オープン化するにあたって共有しておいたほうがよい部分もあるかなと思えてきたので、一度振り返ってみようかなと思います。 “Macで動くボーカルシンセを作る”の続きを読む

Jenkinsを使ったiOSアプリビルド自動化11 GitHubとJenkinsの連携

Hookの機構を使うと、GitHubに変更がプッシュされたタイミングで自動的にJenkinsのジョブが走るようにすることができます。ポーリングに比べて、プッシュからビルドまでの時差が減り、無駄な通信も減りますが、アクセス制御が有効になっている場合の設定で少しはまってしまったので方法を書いておきます。 “Jenkinsを使ったiOSアプリビルド自動化11 GitHubとJenkinsの連携”の続きを読む