24/7 twenty-four seven

iOS/OS X application programing topics.

2014-01-01から1年間の記事一覧

Travis CIでビルドごとにiTunes ConnectのValidationを自動的に実行する

iOS

コマンドラインからiOSアプリケーションをiTunes Connectにアップロードする - 24/7 twenty-four seven コマンドラインからiOSアプリケーションをiTunes Connectにアップロードする - 24/7 twenty-four seven ↑ こちらの記事で書いたように、コマンドライン…

コマンドラインからiOSアプリケーションをiTunes Connectにアップロードする

iOS

参考 Testflight build notes via iTMSTransporter [self reloadData];: Automatic app creation and binary upload Command upload App/Ipa to the iTunes Connect App Store Redesign of itunes connect · Issue #38 · kovpas/itc.cli · GitHub TL;DR Xcod…

Travis CIでiOSアプリのリリース作業を自動化する

iOS

この記事において利用している.travis.ymlとRakefileの全体はGistにて公開しています。 ↓ Rakefileの全体はこちら gist.github.com/kishikawakatsumi/8918124 ↓ .travis.ymlはこちら gist.github.com/kishikawakatsumi/8918365 概要 ユビレジではiOS アプリ…

親指シフトで日本語入力ができるカスタムキーボード「N+Keyboard」をリリースしました

iOS

N+Keyboard iOS 8からサードパーティのキーボードを利用できるようになりました。以前にも親指シフトキーボードの使えるエディタとしてN+Noteというものをリリースしましたが、当然そのアプリでしか使えないという制限がありました。しかし、これからはどん…

iOS 8のすべてのエクステンションはオプトイン方式

iOS

↓ 昨日Todayウィジェットについて書いた記事についてのコメントに、通知センターがスパムコンテンツだらけになるんじゃないの?と心配されてる方が少しいらっしゃいました。通知センターから今日やるアニメをサッと確認できる「今日のアニメ」をリリースしま…

通知センターから今日やるアニメをサッと確認できる「今日のアニメ」をリリースしました

iOS

iTunes の App Store で配信中の iPhone、iPod touch、iPad 用 今日のアニメ ※ 通知センターに表示できるのはiOS 8を使っている場合だけですiOS 8から通知センターに任意のウィジェットを表示することができるようになりました。 通知センターといえば、ロッ…

iOS 8 beta5にてポップオーバーをキャンセルするための暗いところを連続でタップすると下にあるモーダルビューも閉じてしまうバグ

iOS

一昨日くらいにiOS 8でテストをしていたら見つけました。 問題となる画面構成を多用するアプリケーションにとっては、修正が間に合わなければけっこう致命的と思われるので共有します。 (Base SDKをiOS 8にしてビルドしない限りは起こりません。リリース済…

Radar: When double-tap the dimming view to dismiss the popover, it will also close modal view under

iOS

If you display a popover on a modal view, when performing multiple tap the dimmig view to close popover, modal view will also be closed not just popover.Tapping dimming view calls the event handler(-[UIPopoverPresentationController#dimming…

Travis CI (Pro) の実行をジョブの並列化とBundlerとCocoaPodsのキャッシュで速くした

iOS

ユビレジではTravis CIを使って、テストの実行とベータ版のTestFlightへのアップロードを自動化しています。Pull Requestが送られた時と、マージされた時に自動でマージした結果のベータ版が配布されるので、手元で変更をすぐに試すことができて便利です。 …

iOS 8でIn-App Purchaseの状態に追加されるSKPaymentTransactionStateDeferredの影響を考える

iOS

In-App Purchaseでプロダクトの購入を扱うときにはStoreKitのSKPaymentTransactionStateを使います。 例えばPurchasedなら購入完了なのでプロダクトのダウンロードを始める、Failedなら失敗なのでアラートを出すなどとします。iOS 8からはその状態に新しくSK…

Storyboardを1画面ごとに分割した話

iOS

今年の5月くらいの話なのですが、ユビレジのiPadアプリケーションのプロジェクトで使っているStoryboardを基本的に1画面(≒1 View Controller)の単位に分割するということをしました。 1画面1Storyboardメソッドについてはnakiwoさんが書かれた記事も参考に…

Travis CIでiOSアプリのテスト&ベータ版の配信に使っているRakefileを改善したメモ

iOS

↓ コード署名に失敗する問題を直すついでに、今まで運用していく中でいくつか改善したい点があったので少し手を加えました。 Travis CIでipaを作るときのCode Signが失敗するのを修正したメモ - 24/7 twenty-four seven Provisioning Profileのダウンロード…

Travis CIでipaを作るときのCode Signが失敗するのを修正したメモ

iOS

一週間ほど前から(おそらくTravis CIの環境がXcode 5.1に変わってから)Travis CI上でipaファイルの作成に失敗するようになってしまって、TestFlightにベータ版を自動的にアップロードすることができなくなっていたのを昨日ようやく直したのでメモ。 ↓とい…

NSArrayやNSDictionaryからNSNullを効率よく取り除く

iOSアプリケーションでWeb APIから返ってきたJSONを処理するのにNSNullの扱いに困っていて、事前にNSNullを取り除いてしまうのが事故を防ぐための確実な方法なのですが、再帰的にすべての要素を検査する以外になにかいい方法がないかと思って考えていたらち…

NSDateFormatterのパフォーマンスの話 #potatotips

クックパッド主催の第4回potatotipsでiOSのtipsとして日付のフォーマットをするときのパフォーマンスの話をしました。 きっかけ きっかけは何気なくgistを眺めていたときに見つけたこれです。 ↓ Compare the date parsing performance of NSDateFormatter ag…

CocoaPodsで導入しているライブラリのライセンス表記を自動的に作成する

iOS

CocoaPodsを利用している場合は、PodsディレクトリにPods/Pods-acknowledgements.plistまたはPods/Pods-acknowledgements.markdownが自動的に作成されていますので、それを利用して使用しているライブラリのライセンス表記を自動化できます。 一番簡単なのは…

ユビレジのiPadアプリのCI環境をJenkinsからTravis CIに移行したときのまとめ

こちらの記事について、最新のTravis CIの環境(2014/4/15)ではコード署名に失敗する問題があります。 その問題の修正については下記の記事にまとめました。 Travis CIでipaを作るときのCode Signが失敗するのを修正したメモ - 24/7 twenty-four seven 実際は…

Conference with DevelopersでJavaScriptCore.frameworkとObjective-C Runtime APIについて話しました

年に1度のiOSデベロッパーのイベント「Conference with Developers」で話をしました。 JavaScriptCore.frameworkとObjective-C のRuntime APIという非常にマニアックな内容でしたが、まあまあわかるように伝えられたかなと思います。 話の内容は主に以下の3…

コマンドライン引数(Launch arguments)は思ったより簡単に使える

iOS

iOS/AndroidのTips共有会potatotipsでiOSの実行時引数は思ってるより簡単ベンリに扱えるんだよって話をしました。 potatotips (iOS/Android開発Tips共有会) 第3回 ↑ 起動時のオプション引数はiOSだと上図のようにXcodeのスキーマで指定します。 int main(int…

One-line fix for UITextView on iOS 7

iOS

【参考】untitled - iOS 7 のテキスト入力欄(UITextView)の問題について iOS 7のUITextViewのバグを1行で直す裏ワザ [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"UIDisableLegacyTextView"]; 解説 iOS 7にはバグだらけのUITextViewのほ…

JavaScriptでiOSアプリが書けるライブラリJavaScriptBridgeを公開しました

kishikawakatsumi/JavaScriptBridge · GitHub 前にiOS 7から導入されたJavaScriptCore.frameworkを使ってUIKit標準のクラスを操作する話を書きました。JavaScriptだけでiOSのUIを書いてみる - 24/7 twenty-four seven JavaScriptCoreを使ってJavaScriptからO…