2016-04-11 4 views
3

背景アプリケーションのlaunchOptionsからのUIApplicationOptionsURLKeyの値を使用する方法(アプリケーション:willFinishLaunchingWithOptions :):/ What/Why/

私はアップル社のAPIを学ぶために始めている、と今、私はUIApplicationDelegateの機能について学んでいます。 具体的には、私はfunc application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Boolを解剖しています。


質問

launchOptionsで見つけることができるキーがUIApplicationLaunchOptionsURLKeyです。 このキーはいつ存在しますか?

キーに対応して、ある値があります。 この値には何が入っていますか?

理由のために、このキーと値のペアが指定されています。 なぜそれを使用するのですか?

最後に、最も重要なのはどうすれば使用できますか?


ADDITIONAL INFO

私は学ぶように、私は定型プロジェクトを作っています。ここ が、それには何かということです。将来のプロジェクトのために

func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool 
    { 
     print("application(application:willFinishLaunchingWithOptions:)") 

     if let options: [NSObject: AnyObject] = launchOptions 
     { 
      for option: (key: NSObject, AnyObject) in options 
      { 
       switch option.key 
       { 
       // The presence of this key indicates that the app was launched in order to open a URL. The value of this key is an NSURL object containing the URL to open. 
       case UIApplicationLaunchOptionsURLKey: 
        <#code#> 
       ... 

、私はUIApplicationLaunchOptionsURLKeyのキーと値のペアの機能を利用するために何か他のものと<#code#>を交換する予定。

+0

本当に何かを置くことができるので、私は最後にその質問に言い返します。 – tktsubota

+0

@TroyT - 良い点。私は質問を編集しました。なぜなら、私は本当に私が本当に投稿の前半で本当に答えたいと思っている質問を本当に尋ねてきたからです。 –

答えて

2

おそらく他の理由がありますが、私はそれを使ってアプリケーションで特定のファイルを開きます。

私のアプリは、独自の形式でバックアップファイルを保存します。ユーザーがデバイスにこれらのファイルの1つを持っている場合、私のアプリケーションを使用してファイルを開くことができます。

func application(application: UIApplication, 
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     if let url = launchOptions?[UIApplicationLaunchOptionsURLKey] as? NSURL { 
      handleBackupFile(url) 
     } 
     return true 
} 

を、私は、よく、バックアップファイルを処理するためにhandleBackupFile()を呼び出すアプリの通常起動のほかに:彼は私のアプリが開かれ、この問題が発生した、ことをした場合。

私のアプリが複数の種類のファイルを開くことができる場合は、おそらくファイルの種類を確認することができます。

編集:

はここLeio、私のアプリからの実際の例です:

Copy to Leio

ユーザーがタップ

私のアプリが開き、そのコードが呼び出され、「コピーLeioします」。

+0

ユーザーエクスペリエンスの意味を明確にすることができますか:「Open in ...」を選択してアプリを選択するのは何ですか?また、このURLはどのように見えますか? –

+0

正確です。私は例で私の答えを編集しました。 – dbmrq

+0

私はこのトピックがオフトピックとしてカウントされているかどうかはわかりません。あなたのアプリが "Leioにコピー"と呼ばれていないと思われます。もしそうなら、あなたのアプリアイコンの下のテキストに "Leio"の代わりに "Copy to Leio"を表示させる機会はどこにありますか? –

関連する問題