SlideShare a Scribd company logo
とにかく明るいCore Spotlight
@yimajo
NDA関連についておさらい
WWDC のセッションで紹介された範囲なら機密情報
に当たらない
ログインしなくても読める情報は「Apple によって一
般に公開されている情報」に該当すると思われる
http://qiita.com/uasi/items/4d17cd1b7f83a6814c83参考
このスライドの検索画面は全て
WWDCで公開されたものです
話すこと
Core Spotlight
ユーザ目線での使われどころ
実装について
Core Spotlightとは
自分の端末でアプリ内
情報をSpotlightから検
索可能にする
当然他人からは検索で
きない
検索結果をタップする
とアプリが起動
ユーザ目線でCoreSpotlightを
使ってもらえると嬉しい所
電子書籍リーダのタイトルとか
似たようなアプリはどちらにデータが有るか覚えら
れない
Spotlightで検索できればどちらにあってもいい
Spotlight検索があるからそのアプリを選ぶ?
という事にはならない
競合するアプリこそ、Core Spotlight で検索できるよ
うにしておくとユーザは嬉しい
開発者間で情報共有して良い検索体験を作れるよ
うにするほうがいいに決まってる
実装について
iOS9-day-by-dayというiOS9
のサンプルコードがある
https://github.com/shinobicontrols/iOS9-day-by-day
(Apple公式ではないですよ)
サンプルについて
検索対象にしたいアプリ内部情報を全件ループして
Spotlightに表示させるtitle、contentDescriptionをStringに、
thumbnailDataをNSDataの要素にセット
検索は基本的には「前方一致」
タイトルと本文しか検索対
象にならないの?
安心して下さい
検索可能なキーワードを
配列で指定可能です
attributeSet.keywords = ["履いてます", “よ"]
キーワードだけ?
attributeSet.keywords = ["履いてます", “よ"]
安心して下さい
attributeSet.keywords = ["履いてます", “よ"]
キーワード以外も公式リファ
レンスに書かれています
ただし数は多い
ざっくり160~180個
電話とかメールできるやつは?
AirBnBの例では検索結果
の右に受話器アイコン表
示してる
タップすると電話が起動
WWDCの動画では他に
もメールのアイコンもあっ
た
安心してください
supportsPhoneCall: NSNumber
公開された情報であるAPI diffに存在する要素
supportsPhoneCallを1にして
phoneNumbers: [String]に電話番号セット
https://developer.apple.com/library/prerelease/ios/releasenotes/
General/iOS90APIDiffs/Objective-C/CoreSpotlight.html
電話アプリが起動する
自己紹介
StargazerというWebサービス
をつくっています
https://stargzr.net/
参考URL
CSSearchableItemAttributeSet
https://developer.apple.com/library/prerelease/ios/
documentation/CoreSpotlight/Reference/
CSSearchableItemAttributeSet_Class/index.html#//
apple_ref/occ/cl/CSSearchableItemAttributeSet
公式のクラスリファレンス
検索要素が網羅されている
App Search Programming Guide
https://developer.apple.com/library/prerelease/ios/
documentation/General/Conceptual/AppSearch/
index.html#//apple_ref/doc/uid/TP40016308-CH4-SW1
公式のガイドのSearch API編
比較的新しく2015.08.07に作成されている
今のところ大したことは書いていないが今後に期待
iOS Search API Best Practices
and FAQs
https://developer.apple.com/library/prerelease/ios/
technotes/tn2416/_index.html#//apple_ref/doc/uid/
DTS40016269
公式のTechnical NoteのSearch API編
App Search Programing Guideと内容がかぶっている
今のところ大したことは書いていないが今後に期待

More Related Content

とにかく明るいCore Spotlight