在ios的safari中共享一个链接到我的应用程序?

时间:2012-12-25 12:55:54

标签: ios url safari share

我需要有关此问题的帮助。

我的应用程序中有一个与其他用户共享链接的功能,我需要做的是:

  1. 打开safari浏览器中的任何链接
  2. 直接在safari浏览器上执行一些操作,以便在我的应用程序中共享该链接。
  3. 这可以在iOS中直接共享从浏览器到应用程序的链接。

    需要帮助。

    问候。

4 个答案:

答案 0 :(得分:2)

从iOS 8开始使用共享App Extension可以完成此任务

我设法通过创建共享扩展程序应用程序(文件 - >新 - >目标 - >应用程序扩展程序)

enter image description here

然后从Targets-> Info我指定了对网址的支持

enter image description here

然后我花时间搜索在应用扩展程序中使用原始应用文件的方法,这篇文章对我有很大帮助Sharing code between original iOS App and App Extension

如果您使用的是cocoapods,这也可以帮助您https://stackoverflow.com/a/31989172/3033056,但要注意并非所有广告都可以在应用扩展程序中使用

这是教程http://www.appcoda.com/ios8-share-extension-swift/

的链接

答案 1 :(得分:1)

使用URL Schemes确实可以做到这一点 http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-working-with-url-schemes/

  1. 查看发件人示例
  2. 见接收器示例

答案 2 :(得分:1)

iOS自定义网址方案:

html示例:

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

CFBundleURLSchemes - 包含URL方案名称的字符串数组 - 例如,http,mailto,tel和sms。

BundleURLName - 包含URL方案的抽象名称的字符串。为确保唯一性,建议您指定反向DNS样式的标识符,例如com.acme.myscheme。 您指定的字符串也用作应用程序的InfoPlist.strings文件中的键。密钥的值是人类可读的方案名称。

通过Apple的文档: 实现自定义URL方案

如果您的应用可以接收特殊格式的网址,则应在系统中注册相应的网址方案。 customURL方案是第三方应用程序可以相互通信的机制。应用程序通常使用自定义URLchemes将服务提供给其他应用程序。例如,地图应用支持用于显示特定地图位置的网址。

注册自定义网址架构

要为您的应用注册网址类型,请在应用的CFBundleURLTypes文件中加入Info.plist密钥。 CFBundleURLTypes键包含一个词典数组,每个词典都定义了应用程序支持的URL方案。

在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;

}

答案 3 :(得分:0)

您可以通过app URL内的查询轻松地将数据传输到您的应用。 即您的应用程序URL为scheme://host/path?Query,其中查询是您可以自定义和解析的数据。此网址传递给application:handleOpenURL。点击此处了解详情http://www.idev101.com/code/Objective-C/custom_url_schemes.html