Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > App Extensions

App Extensions

iOS8から実装された新しい機能です。機能の一つとしては、画像やWebの共有ボタンを押した時に画面の下からビヨーンと表示されて、メッセージ、メール、Twitter等と 簡単に連携できる様になったりします。それ以外にも、別アプリを起動させたり、アプリ間でドキュメントを共有したりと、様々な事が行えます

以下のような機能があります。

  • Share:写真、動画、ウェブサイト等を共有できる機能
  • Today:ウェジェットの「今日」に表示する機能。配送情報、最新ニュース等の通知に。
  • Photo Editing:自分でカスタマイズしたフィルターをカメラ機能に反映
  • Custom Keyboard:カスタムキーボードの作成。(ただし文字補完はユーザ頼み)
  • File Provider:他のアプリからもアクセス可能な保存スペースの拡張
  • Actions:アクションシートにカスタムボタンを追加。翻訳させたり、Wish Listに追加したり、Water Markの追加が可能。
  • Document Provider:外部ネットワークに保存できるストレージがあれば、そこにアップロード、ダウンロードが可能に。
  • Finder Sync:遠隔の同期処理を通知させるバッジ機能


参考:App Extensions
参考:iOS8のApp Extensionsをつくってみる(Share 実装編)
参考:IOS Today Widget In Swift - Tutorial

機能の一つの[Share]Extensionを実装してみる

File -> New -> Target を順に選択。
(※このExtensionですがNew->Fileからは表示されませんので注意です。)

sharedサンプル1


Application Extensionsとの項目があるのでクリックして該当するSharedをクリック。

sharedサンプル2


こんな感じに追加されます。

sharedサンプル3

ひとまずビルド&RUNしてみる

sharedサンプル3

なんだか見覚えのない画面、起動時にアプリを選択するようです。SafariがSuggestされているので、Safariをクリックしてみます。

sharedサンプル3

Safariが立ち上がりました。ここで画面下メニュー真ん中の共有ボタンをクリックしてみます。

sharedサンプル3

お!Facebookの右隣にSharedのボタンがでてきていました。

この表示された時に以下ログを吐いていました。


2014-12-10 08:11:59.116 MobileSafari[546:19640] Unknown activity items supplied: (
    "http://www.apple.com/",
    "",
    ""
)

Sharedボタンをクリックすると。。。。

sharedサンプル3


2014-12-10 08:12:39.418 shared[551:20032] Failed to inherit CoreMedia permissions from 546: (null)

上記を表示しつつ、ログにはポーミッションのエラーが発生しました。

こちら次の記事を元に調査していました(Today Extension Failed to inherit CoreMedia permissions from) どうやら、App Extensionsを利用していたら発生するようです。CapabitilyのAppGroupを同じアプリ名称でリンクさせればエラーがなくなるとの記載がありましたが、無くなりませんでした。。。。

今はデバッグのテストアプリだからかもしれません、もしかするとDeveloperサイトでAppを登録した状態で実施すれば このエラーは回避できるのかもしれません。そちらに関しては今後調査します。今回はデモを動作させるためですので、このまま進みます。

ここまできましたが、時間切れでしたのでいったん保留します。(2014/12/10)

続きをApp Extension #2に追加しました。よかったらご確認下さい(2014/12/11)

↓こんな記事もありますよ!

SwiftでZipファイルの解凍や圧縮する方法

SwiftでZipの解凍・圧縮処理の解説です。標準ライブラリにZip2があるやら3rdパーティのSSArchiveのObjective-Cのライブラリを Swiftにブリッジして利用するのが良い等の記載がありましたので調査してみます。

AppleWatchでNotificationを受け取る。バイブでブルブル通知する。

どうやら現状はAppleWatchのバイブレーションパターンをカスタマイズできないようなのですが、Notificationを受け取る際に ブルブルする状態のようです。つきましては、NotificationをApp側で設定、AppleWatch側で受け取ってブルブルするサンプルを記載していきます。

AppleWatchとiPhone連携をナターシャさんのデモを参考に調査

先日Swiftサラリーマンに関してTwitterでつぶやいてくださっていたまっちょさん に教えていただいたAppleWatchアプリ作成に関する海外のWatchKitのナターシャさんの記事(Architecting Your App for the Apple Watch)を教えていただきました、 動画やプレゼンもあり英語でしたがサンプルコードも付いていて分かりやすかったです!
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!