web-dev-qa-db-ja.com

デバイス上のすべてのiOS URLスキームを取得する

デバイス上のすべてのアプリのすべてのURLスキームを取得する方法はありますか?それらのどこかに、おそらくplistの中央リポジトリがなければなりませんか?

12
PruitIgoe

誰かがまだ探している場合に備えて私のソリューションを追加します。答えを調査するのにしばらく時間を費やした後、私は@danielbeardのソリューションと@Avisのソリューションのミックスを仕上げました。

私が探しているアプリケーションを知っているので:

  1. コンピュータを使用してiTunesから.ipaをダウンロードする
  2. アプリケーションをデスクトップにコピーします
  3. 名前を* .Zipに変更します。
  4. * .Zipを抽出します
  5. 「ペイロード」フォルダを開きます
  6. アプリケーションを右クリックし、「パッケージの内容を表示」を選択します
  7. 次に、「Info.plist」ファイルをダブルクリックします(Xcodeで開くはずです)。
  8. 次に、「URLタイプ」>「アイテム0」>「URLスキーム」を確認します

その情報を使用して、チェックするアプリの配列に追加します(@danielbeardが提案したことを行います)。

これが将来の誰かを助けることを願っています。

12
Greg Barbosa

はい、プライベートAPIを使用できます。最初

@interface PrivateApi_LSApplicationWorkspace
- (NSArray*)privateURLSchemes;
- (NSArray*)publicURLSchemes;
@end

それを使用します:

PrivateApi_LSApplicationWorkspace* _workspace;
_workspace = [NSClassFromString(@"LSApplicationWorkspace") new];
- (NSArray*)privateURLSchemes
{
    return [_workspace privateURLSchemes];
}

- (NSArray*)publicURLSchemes
{
    return [_workspace publicURLSchemes];
}

チェック https://github.com/wujianguo/iOSAppsInfo

2
justin

それがプログラムである場合、私にはわかりません。

ここにあなたの質問に関連する答えがあります(正確ではありません)

プログラムでアプリのURLを見つける

しかし、手動で、あなたのデバイスで-

はい...

この手順により、デバイス上のすべてのアプリのURLスキームを取得する方法があります。システムにifunboxをインストールします。デバイスを接続し、ユーザーアプリケーションを開いて、URLスキームを検索しようとしているアプリを開きます。アプリのホームフォルダーが見つかります。そのフォルダーには、そのアプリのinfo.plistがあります。 info.plistを開き、最後の列でURLスキームアドレスを確認します。

それは私のために働いた。あなたはURLスキームに登録されているいくつかのアプリのURLスキームを見つけるでしょう。

いくつかのアプリのURLスキームアドレスへのリンクがあります(時間を節約できる可能性があります)。

1 . http://handleopenurl.com/ 2 . http://wiki.akosma.com/IPhone_URL_Schemes

2
Avis

ここで気まぐれに出かけて、次のことをしようとしていると仮定します。

  1. アプリにPDFがあります。
  2. 他のアプリがPDFファイルを開くことができるかどうかを(プログラムで)チェックする必要があります。
  3. その場合は、PDFそのアプリを使用して開きます。

これを行う場合は、手順2を手動で行う必要はありません。実際のところ、それはできません。ただし、互換性のあるアプリのメニューを表示するために IDocumentInteractionController クラスを使用できます。

これは、電話にインストールされている他のアプリを「確認」できる唯一の方法です。少なくともiOS 7以下では。

1

脱獄せずにApple APIで正式にサポートされていません

回避策は、バンプがどのアプリが起動され、URLスキームをサポートするかを知る方法かもしれません: http://danielamitay.com/blog/2011/2/16/how-to-detect-installed-ios-apps

0
Dmitry Sadakov