24/7 twenty-four seven

iOS/OS X application programing topics.

iOS

UIKeyCommandを使ってバーコードリーダーの入力を受け取る

TL;DR ●バーコードリーダーは外部キーボードとして扱える ●UITextFieldなどの入力コンポーネントを使って入力を受け取れる ●UITextFieldなどを使いたくない場合がある ●UIKeyCommandを使うと入力コンポーネントを使わずに入力を受け取れる ユビレジでは商品…

SwiftでKeychainを簡単に使うライブラリ "KeychainAccess" を書きました

kishikawakatsumi/KeychainAccess kishikawakatsumi/KeychainAccess · GitHub そろそろSwiftをちゃんと勉強しようと思って作りました。 Swiftで書かれたKeychainのラッパーの中ではもっとも高機能でかつ簡単に使えるものができたと思います。 機能としては下…

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にベータ版を自動的にアップロードすることができなくなっていたのを昨日ようやく直したのでメモ。 ↓とい…

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のほ…

iOSアプリケーションでキーボードショートカットに対応する

↓ より丁寧な記事はこちらで公開しています。 iOSアプリで外部キーボードからのショートカットに対応する方法 - iOSアプリ開発こぼれ話 iOS 7のSafariやメールでは外部キーボードを使用した際に利用できるできるショートカットが以前より充実したことが話題…

iOS 7のエンタープライズ向け新機能 Guided Access(アクセスガイド)のカスタマイズ

より詳しい記事はこちら ↓ iOS 7はアクセスガイド(Guided Access)が便利にカスタマイズできるって知ってました?(1/2) - iOS 7 徹底解剖 - Mobile Touch - モバイル/タブレット開発者およびデザイナー向け情報ポータル アクセスガイドとは iOS 6から導入…

UUIDを少し短くするUUIDShortener

kishikawakatsumi/UUIDShortener · GitHub ちょっと仕事でUUIDっぽい文字列を限られた幅の場所に表示する必要があったので書きました。具体的にはレシートに識別子を印字したいという要件で、識別子はUUIDを振っているのでそれでいいのですが、レシートに印…

追加ダウンロードフォントを含むiOS 7で使えるフォント一覧

参考 iOS 7 で使えるフォント名一覧 - Over&Out その後 出力の方法 iOS 7からは`kCTFontDownloadableAttribute`という属性が追加されているのでそれを利用します。 この方法で数えると、すべてのフォント数は283になりました。 iOS 7で新たに使えるようにな…

iOS 6 or 7で「游ゴシック体」や「ヒラギノ丸ゴシック」を使う

OS XではMarvericks (10.9) から「游ゴシック体」と「游明朝体」が標準搭載されたことで話題になりましたが、実はiOSでも6以上からこれらのフォントが使用できます。 iOS 6から追加ダウンロードフォントという仕組みが導入され、游ゴシック体などのフォント…