久しぶりの更新になりますね。
iOS 9 + 3D touchという新しい組み合わせでSpringBoardからアプリのショートコードを実行できるようになりました。
これやってみたい!と思って試してみましたがXcode 7.0に搭載されているiOS Simulatorは3D touch非対応
iPhone6sを購入しましたがDeveloper登録をしていないため実機に転送ができません。
んーこのためにわざわざDeveloper登録するのは…と思い調べた結果
非公式ですが[Quick Action]機能だけ試せるツールがgithubにて公開されていたので紹介致します。
■用意するもの
- Mac OS X 10.10 以上
- Xcode 7.0 以上
- SBShortcutMenuSimulator
■サンプルコード
今回はQuick Actionが使えるかどうかだけを確認したいので
見栄えだけの張りぼてアプリを作成しました。
[Xcode]->[File]->[New]->[Project…]からSingle ViewApplicationを作成
名前はQuickAction-Sampleとでもしておきます
Static Quick Actions
[Info.plist]ファイルを開きQuickAction用のKeyを追記します。
Keyの意味は以下の感じです
Key(*必須) | 意味 |
---|---|
UIApplicationShortcutItemType * | アクションのタイプ。 |
UIApplicationShortcutItemTitle * | SpringBoard上に表示されるタイトル。 |
UIApplicationShortcutItemSubtitle | SpringBoard上に表示されるサブタイトル。 |
UIApplicationShortcutItemIconType | アイコンのタイプ。システムアイコンを指定。 |
UIApplicationShortcutItemIconFile | 自分で用意したアイコン画像の名前(35×35)UIApplicationShortcutItemIconTypeよりも優先度は高い。 |
UIApplicationShortcutItemUserInfo | ディクショナリのデータを引き渡す。 |
IconType一覧はこちらのページを参考にしてください。
そしてこのサンプルコードをビルドしiOS Simulatorで実行します。
ビルドに成功しiOS Simulatorが起動したらターミナルを起動しツールを用意します。
$cd SBShortcutMenuSimulator
$make
SBShortcutMenuSimulator.dylibが生成されていれば成功です。
以降このファイルさえあれば実行できます。
dylibファイルのあるディレクトリで以下のコマンドを実行
$xcrun simctl spawn booted launchctl stop com.apple.SpringBoard
iOS SimulatorのSpringBoardが切り替わります
ターミナルから
できました!
今回はInfo.plistファイルに追記するだけの静止的なものでしたがソースコードに書き込む動的な方法もあります。
iOS Simulatorも早くバージョンアップで3D touch機能対応になって欲しいですね。