2

この問題について助けが必要です。

私のアプリケーションには、他のユーザーとリンクを共有する機能があります。次のことを行う必要があります。

  1. Safari ブラウザで任意のリンクを開く
  2. アプリケーションでそのリンクを共有するために、サファリブラウザで直接何らかのアクションを実行します。

iOS で、ブラウザからアプリへのリンクを直接共有することは可能ですか。

これについて助けが必要です。

よろしく。

4

4 に答える 4

3

iOS 8 以降、Share App Extensionを使用すると、このタスクを達成できます

共有拡張アプリを作成することで、なんとかそれを行うことができました(ファイル->新規->ターゲット->アプリケーション拡張)

ここに画像の説明を入力

次に、Targets->Info から、Web URL のサポートを指定しました

ここに画像の説明を入力

次に、アプリ拡張機能で元のアプリ ファイルを使用する方法を探すのに時間を費やしました。この投稿は、元の iOS アプリとアプリ拡張機能の間でコードを共有するのに大いに役立ちました。

ココアポッドを使用している場合、これも役立ちますhttps://stackoverflow.com/a/31989172/3033056ただし、すべてのポッドがアプリ拡張機能で使用できるわけではないことに注意してください

これはチュートリアルのリンクですhttp://www.appcoda.com/ios8-share-extension-swift/

于 2016-06-26T09:31:45.393 に答える
1

iOS カスタム URL スキーム:

HTML の例:

<p>Run the app<a href='BundleURLSchemes://BundleURLName?param=1'>iPhone/iPad</a></p>

CFBundleURLSchemes- URL スキーム名 (http、mailto、tel、sms など) を含む文字列の配列。

BundleURLName- URL スキームの抽象名を含む文字列。一意性を確保するために、com.acme.myscheme などのリバース DNS スタイルの識別子を指定することをお勧めします。指定した文字列は、アプリの InfoPlist.strings ファイルでもキーとして使用されます。キーの値は、人間が判読できるスキーム名です。

Apple のドキュメント経由: カスタム URL スキームの実装

アプリが特別な形式の URL を受信できる場合は、対応する URL スキームをシステムに登録する必要があります。customURL スキームは、サードパーティのアプリが相互に通信できるメカニズムです。アプリは多くの場合、カスタム URL スキームを使用してサービスを他のアプリに提供します。たとえば、マップ アプリは、特定のマップの場所を表示するための URL をサポートしています。

カスタム URL スキームの登録

アプリの URL タイプを登録するには、アプリのファイルにCFBundleURLTypesキーを含めます。Info.plistキーには、アプリがサポートする URL スキームを定義する辞書のCFBundleURLTypes配列が含まれています。

AppDelegate で:

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {

    NSString *query = [url query];

//    NSLog(@"query->%@",query);//param=1
//    NSLog(@"host->%@",host);//BundleURLName
//    NSLog(@"resourceSpecifier->%@",resourceSpecifier);//BundleURLName?param=1

    if(![[url scheme] isEqualToString:@"BundleURLSchemes"])
        return NO;
    else{
        NSArray* paramsData =[query componentsSeparatedByString:@"="];

        NSLog(@"param->%@", paramsData[1]);
    }

     return YES;

}
于 2014-04-26T06:36:08.187 に答える
1

これは実際に URL スキーム http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-working-with-url-schemes/を使用して可能です

  1. 送信者の例を見る
  2. 受信機の例を見る
于 2012-12-25T12:57:53.120 に答える