iOS
これはARKit Advent Calendarの17日目の記事です。(遅れてすみません) ARKitでは、空間にある平面などを判定できます。 同時に、自分が動いた時に自分の位置もわかるので、その位置をとってみましょう。 ARKit まずは、XcodeでARKitのサンプルアプリを作り…
これはiOSDC Advent Calendarの12日目の記事です。 今年のiOSDCで配ったチートシートのお話です。 iOSDC チートシート 今年の9月に開催されたiOSDCでは、スポンサー(企業スポンサー、個人スポンサー)のみなさまに何点かノベルティーグッズを配ったんです…
これはSwift Advent Calendar 2017の10日目の記事です。 assertはSwiftでコードを書く時の基本的なデバッグ機能です。 いろいろな会社のiOSプロジェクトを拝見していますが、assertを有効につかっているプロジェクトは意外と少ない印象なんですよね。 書く癖…
これはiOSアドベントカレンダーの2日目の記事です。 毎年アドベントカレンダーでは、カレンダーに関係あることを書くことにしています。 今回はiOS11で仕様変更があったロケールについて。 ロケールとは iPhoneの設定に、「言語と地域」という項目がありま…
去年に引き続き、今年も iOSDC 2017 にスタッフ/スピーカーとして参加しました! チートシート 今回はスポンサーノベルティにこんなしたじきがはいっています。 今までに発売されたApple製のデバイスで、アプリインストール可能のものをすべて網羅したデバイ…
これはiOS Advent Calendar 2016の12/2の記事です。 アドベントカレンダーはDate/Calendarネタを描こうと思っているので、今年はいろいろな現場で必ず目にする日付フォーマットのバグについて。 ある程度iOSをやっている方には当たり前の話なんですが、なぜ…
土曜日に、練馬ココネリホールで開催された国内初の iOS Developerの祭典、iOS Developers Conferenceにスタッフとして参加しました。 (こちらはスタッフの@motokieeさんが作ったオープニングビデオ。カッコイイ……。) スタッフ業務 私の担当は、受付や入り…
これはVOYAGE GROUP Advent Calendar 2015の13日目の記事です。 今日はiPhoneを使った音声認識の話です。 スターウォーズ! 今月の18日、いよいよスターウォーズの最新作、「フォースの覚醒」が公開されますね。 前作から10年、懐かしいキャラにも会えるし、…
Swift 2.0では、Optionの型が変わりました。 あたらしく導入された OptionSetType についてちょっと見てみました。 OptionSetTypeとは 最近、Swift1.2の既存プロジェクトのSwift2.0対応を少しずつ始めたんですが、UIUserNotificationType の option 設定でコ…
WWDCで新しいiOS9の機能がいろいろと発表されましたが、Safariでの表示項目を制限することが 「コンテンツブロッカー」機能については、Web業界の方はちょっと気になるのではないでしょうか。 さっそく調べてみました。 (なお、この記事はAppleが一般に公開…
今年は久しぶりにWWDCに当選しました。 前回参加したのが2010年だったので、5年ぶりでした。 今年のWWDC 久しぶりの参加になったんですが、5年前より会場の快適さがかなりアップしていました。 いたるところに座りごこちのいいソファや、電源と有線LANが完…
SwiftでUIWebViewにuseragentを設定する場合の処理です。 (Objective-Cと同じですが……。) 独自のUserAgentを設定する アプリ独自のUserAgentを設定する場合にはこちら。 let originalUserAgent = "Toyship Original Application" let agentDict = ["UserAg…
Swift で作ったコードはclangでコンパイルして実行ファイルにすることができます。 コマンドラインツールなどを作成したりするのにいいかもしれません。 Swiftのコンパイル Swiftのコンパイルコマンドは swiftc です。 デフォルトの swiftc は /user/bin に…
カレンダーなどのアプリで、画面に今日の日付などを表示している場合、真夜中に日付が変わった瞬間にUI表示を変えたりなどの処理をしたいことがありますよね。 そのためだけにNSTimerなどを使ってタイマー処理をするのも面倒くさいので、たいていはスルーし…
Embedded Frameworkを、Swiftで作ると、Objective-Cで作るときとは違った利点がいろいろと見えてきました。 SwiftによるEmbedded Framework Embedded Framework in Objective-Cのエントリで、Objective-CによるEmbedded Frameworkを実装してみましたが、Swif…
iOS8で導入されたEmbedded Framework ですが、iOS7以下で使うにはどうすればいいでしょうか。 iOS7でもEmbedded Frameworkがしたい Objective-C で Embedded Frameworkで実装したEmbedded Frameworkは、iOS8からしか使えません。 でもまだまだiOS7対応も必要…
iOS8から使えるようになったEmbedded Framework。 その使い方と、iOS7 でEmbedded Frameworkを使う方法を調べてみました。 Embedded Frameworkとは Embedded Framworkは、複数のプロセスから利用できる共通ライブラリで、iOSでは、OS8のApp Extensionと同時…
これはWatchKit Advent Calendar 2014の19日目の記事です。 WatchKitではいろいろなUIコントロールが表示できますが、ここではTableを表示してみましょう。 テーブル用クラスの作成 WatchKitでテーブルを表示する場合は、UITableViewではなくWKInterfaceTabl…
この記事は、Tech Women Advent Calendar 2014の17日目の記事です。 基本ですが、あらためてiOS開発でのオブジェクト間通信についてまとめてみました。 オブジェクト間通信 Objective-Cでソースコードを書いているときに、オブジェクト同士で通信を行う必要…
この記事はVOYAGE GROUP エンジニアブログ Advent Calendar 2014の13日目の記事です。 ちょっと前に、業務用のバスボタンを買ったので、バスボタンを押してiPhoneアプリのビルドができるシステムをつくってみました。 ビルドだけじゃなくて、バスボタンで起…
新しいTestFlightを使ってみましたでApple Storeのエクスターナルテストのための審査をSubmitしましたが、無事終わりました。 エクスターナルテスト審査 エクスターナルテストを実施するには、Appleのテスト用審査を申し込まないといけません。 その審査が実…
TestFlightがAppleに買収されて iTunes Connectから使えるようになりました。 さっそく使ってみましたが、いままでのTestFlightにくらべて予想以上に楽になっています。 すべてのDeveloperがいますぐ使い始めるべきレベルなので、ぜひつかってみることをおす…
そろそろiOS8の正式なリリースも間近になってきましたね。 iOS8のリリースと同時に、新しいアプリ間情報共有機能、 App Groupが使えるようになります。 iOS8 の新機能、App Extension にも必須な機能なので、使い方をちょっとまとめてみました。 App Groupと…
iOSでネットワークプログラミングをする上でかかせない、URLエンコーディング。 なんだか気になる動作もあるので、ちょっとまとめてみました。 URLエンコードとは URLエンコード(URL encode)とは、文字列をhttp://www.apple.com/からhttp%3A%2F%2Fwww.apple.…
CookpadのWWDC2014 振り返り勉強会でApp Extensionについて発表させていただきました。 App Extension App Extensionは個人的にiOS8で一番お気に入りの機能ですが、技術的にはいろいろと深い部分があります。 App Extensionといっても、いろいろな種類のモジ…
iOS7でNSURLSessionがでて、少し陰の薄くなったNSURLConnectionですが、まだまだネットワーク処理の中心としてよく使われていますよね。 NSURLConnectionの使い方は比較的簡単ですが、サブスレッドからよぶときには少し注意が必要なのでまとめてみました。 …
Objective-Cのシングルトンって、昔はcopyWithZoneとかもあって、無駄に面倒だったような記憶があるんだけど、いつの間にか簡単になったんだっけ……?と思ってたので、ちょっと整理してみました。 ARCとGCDが出る前からシングルトンを実装してた人にはちょっ…
Xcode 5から導入された、デバッグ時の Quick Look機能、デバッグ時にオブジェクトの情報をグラフィカルに見ることができてとっても便利ですよね。 Xcode 5.1からは、システムクラスに加えて、カスタムクラスのQuick Look機能も使えるようになっているので、…
先日、Appleから「複数のApp ID Prefixについて」(Technical Note TN2311:Managing Multiple App ID Prefixes)というTechnical Noteが出ていました。 ふだんあまり意識することのない App ID Prefixですが、使い方を間違うとキーチェーンに保存されたデー…
この投稿は iOS Advent Calendar 2013 - Qiita の25日目の記事です。 今年の iOS Advent Calendarの最後の日に、NSCalendarをとりあげてみますね。 iOSとMacOSXで暦を司る、あまり目立たないですが重要なクラスです。 NSDate さて、NSCalendarの説明をするに…