ios app extensionでsalesforceアプリをextension!溝口大地
TRANSCRIPT
iOS App Extension でSalesforce アプリを
Extension !製品開発部 mitoco チーム溝口 大地
この資料に含まれる画像等は作成者が Dreamforce2016に参加し、Keynoteやセッション等で写真撮影したものです。
自己紹介
• 溝口 大地• 1987 年 10 月 21 日生まれ• テラスカイ 4 年目• 國學院大學出身• 陸上部主将• mitoco モバイルチームリーダー• マラソン自己ベスト 2:26:29• 10000m 自己ベスト 30’12”43
https://github.com/daichi1021
前職は
あと
走れるエンジニア募集中!
今何してるか
次世代型グループウェア mitoco のiOS アプリ開発
さて
Dreamforce の話!
App Extension とは
既存の iOS アプリに色々な機能を「 Extension 」する仕組み
← コレ
えっ、何これ簡単そう
作ってみた
Demo
つまづきポイント!
ターゲットが別になるのでクラスの共有が public にするだけでは出来ない
Embedded Framework を使って共通クラスを切り出し、メインアプリと Ext アプリで import することで解決
データのやり取りとかどうするの??
Realm や CoreData のようなデータストアを使うか、NSUserDefaults 領域に保存して出し入れする。タップ時の動作自体は URI スキーマ経由で行う
エクステンション側でクエリ投げたり出来る?認証は?
認証の仕組みをエクステンション側に持たせるのが難しい(と言うか無理)のですが、アクセストークンを共通領域に保持して、エクステンション側で取り出してリクエストを投げるとかなら可能。
(意外とめんどくさいな・・・)
まとめ
• iOS10 で更に強化されたエクステンション• 上手く活用出来れば協力な機能になりますが、実装ハードルは割りと高め• エクステンションと言いながら実際は全くの別アプリ• エクステンションは目的では無く手段
• https://github.com/forcedotcom/SalesforceMobileSDK-iOS
• https://github.com/malcommac/SwiftDate
• https://github.com/SwiftyJSON/SwiftyJSON
使った OSS
Thank you!