web-dev-qa-db-ja.com

Xcode 4でURLスキームを開くカスタムアプリを登録する方法は?

Xcode4は、この単純なことを可能にするために膨大な数の引数を要求しています。

NSString *stringURL = @"twitterriffic://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Xcode 4 Info.plist editor

これらのプロパティはすべて何のためですか?なぜ画像なのか?ここでアプリ識別子を繰り返す必要がありますか?誰かがこのURLを呼び出してアプリを開くことができるようにする場合、どのロールを選択すればよいですか?そして、これらの追加のURLタイププロパティは何のためですか?

そのようなURLスキームをXcode 4に登録する方法については、Xcode4関連のチュートリアルは見つかりませんでした。

72
openfrog

Edit your AppName-Info.plist file

  • 左側の[サポートファイル](フォルダー)を開き、[YourAppName-Info.plist]をクリックします
  • 「Bundle creator OS Type Code」のような行を選択し、行の上にマウスを置き、(+)記号をクリックします
  • これにより、新しい行が作成され、「URL types」と入力されます
  • 左のアラーをクリックしてアイテム0を表示し、アイテム0の値の名前を「URLスキーム」に変更します
  • 次に、アイテム0のフィールドを編集し、プロトコルを入力します。図のように「グーミー」と入力しました

このアプリをシミュレーターにインストールし、Safariを開いてアドレスバーに「goomzee://」と入力すると、アプリが起動します。

97
Mike S.

うん、このようなものは簡単ではありませんか?

ここにカスタムURLを登録するために必要な手順を概説しました: カスタムURL

ただし、基本的には、.plistファイルに「URLタイプ」値を設定することが重要です。 XCode 5では次のようになります。

URL types

この例では、[〜#〜] mkb [〜#〜]プレフィックスを登録したため、この新しいタイプのWebページのハイパーリンク内のURL、およびメール(iPadメールアプリでメールを読んだ場合):

Mail app

ユーザーがこれらのリンクのいずれかをタップすると、iPadアプリが起動し、完全なURL文字列にアクセスして、URLから他のパラメーターを抽出できます(例: "DocumentNumber = 100")

唯一の落とし穴は、特定のプレフィックスを認識できるiPadアプリがインストールされているかどうかをtestする方法をまだ解明していないことです。

でなく、iPadでこれらのMKB://リンクのいずれかをタップすると、いエラーメッセージが表示されます。

Nope

26
Mike Gledhill

アプリのinfo.plistファイルを編集することで、カスタムURLの登録を続けることができます(以前の questions のいずれかに示されているように)。 Xcode 4の新しいエディターは、エントリの追加を簡単にするために便利であると考えられています。手動で行うのと同じinfo.plistの変更を行うだけです。新しいエディターを使用する場合は、「ID」ボックスと「URLスキーム」ボックスに入力するだけです。画像、アイコン、または追加のURLプロパティは必要ありません。

他のプロパティ(アイコンなど)は十分に文書化されていませんが、Mac OS Xでのみ適用可能で、Finderの[情報を見る]ダイアログで使用して特定のアプリで開くことができるURLの種類を表示できます。たとえば、 Launch Services Programming Guide をご覧ください。

17

そのエディターで変更した内容は、プロジェクトの情報plistファイルにも反映されます。 ProjectName-Info.plistの形式を取ります。うまくいけばそれが助けになる。

0
Ying