App间的通信需要通过URL Scheme来实现。

1、需要为待启动的应用设置一个系统唯一标志字符串,避免与系统自带的标志字符串重名。例如:mailto、tel、facetime、sms、 http://maps.apple.com/等等。

2、在info中设置该应用的标志字符串

3、在AppDelegate中设置处理url的方法

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
    println(url.query!)
    UIAlertView(title: "test", message: "opened", delegate: nil, cancelButtonTitle: "OK").show()
    return true
 


在这个方法中,url为发送请求方的url,sourceApplication为发送请求的应用bundle Identifier,在方法实现中使用url.query来获取传入的参数。若发送请求方发送的url为iossocket://?name=iossocket&tel=1371234567,那么url.query为name=iossocket&tel=1371234567。

4、对应请求发送方,发送该url时调用方法如下所示:

func openUrl() {
    var url: NSURL = NSURL(string: "iossocket://?name=iossocket&phone=1371234567")!
    if UIApplication.sharedApplication().canOpenURL(url) {
        UIApplication.sharedApplication().openURL(url)
    } else {
        //提示用户去下载该应用
 


5、该url同时也可以通过Safari来进行发送。 2019独角兽企业重金招聘Python工程师标准>>> ...
URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URL SchemeURL Scheme是为方便app之互相调用而设计的。我们可以通过系统的OpenURL来打开该app,并可以传递一些参数。 例如:你在Safari里输入www.alipay.com,就可以直接打开你的支付宝app,前提是你的手机装了支付宝。如果你没有装支付宝,应该显示的是支付宝下载界面,点击会跳到AppStore的支付宝下载界面。 URL Scheme必须能唯一标识一个APP,如果你设置的URL Scheme与别的APP的
我之前写过一篇文章:Swift - URL schemes的使用样例(如:在Safari中打开App)。介绍通过自定义的URL Scheme,实现从外部浏览器或外部应用打开我们的应用。 同样的,如果想从本地应用中跳转到其他的第三方应用并传值。同样是通过URL Scheme实现。 一,使用样例 常用的第三方应用都定义了不同的URL Scheme,我们通过UIApplicatio...
UrlScheme UrlScheme 是系统提供的一种机制,它可以由应用程序注册,然后其他程序通过UrlScheme 来调用该应用程序,就如同打开一个网站地址。 UrlScheme 目前已经被iOS、Android、windows、OS X等系统支持。 通过 UrlScheme 我们可以打开指定应用传参。 实际用例: 我们的app中对一个店铺进行了位置采集,点击这个店铺的导航按键时,我们就可以使用高德或百度地图的UrlScheme打开地图应用并导航。 //打开百度地图导航 UrlScheme ='b
热点总是一时的,借此炒作的人或许已达成目的。作为一名iOS开发程序员,我们只能继续写代码,改变世界。 上一篇文章讲到:Xcode6.4注册URLScheme步骤详解,这一篇继续来看看URLScheme传递参数。 通过注册的URLScheme向目标APP传递参数 通过URLScheme启动APP很简单就可以做到,但有时候我们想在启动APP的时候传递一些参数,这个时候我们就可以通过URLSche
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionaryUIApplicationOpenURLOptionsKey,id> *)options{} 其他应用(后面以下称为APPB)通过 openURL的方法打开这个方法所在的app(这个以下称为APPA)后,这个方法就会被调用。
上图 : 在plist文件里面设置。 URL identifier 一般为反域名+项目名称 (尽可能保证少重复) URL Schemes是一个数组。一个APP可以添加多个。该参数为跳转时使用的标识。 1:跳转safari比较简单 1 NSString *iTunesLink = @"http://www.xxxx.com"; 2 [[UIApplication ...
1,在A项目中需要下面的配置然后在项目A中的AppDelegate中- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options{ NSLog(@"===%@==",[ur...
public extension URL { var urlParameters: [String: String]? { guard let components = URLComponents(url: self, resolvingAgainstBaseURL: true), let queryItems = components.queryItems else { return nil } using System.Runtime.InteropServices; [DllImport("__Internal")] private static extern void _GetURLString (); public static void GetURLString() if(Applicati
URL Scheme跳转是一种在iOS中实现App之跳转的方式。它可以通过在Safari或其他浏览器中输入特定的URL Scheme来启动目标App,并且可以通过在URL中添加自定义的参数来传递信息。URL Scheme的形式类似于网页,可以在Safari中输入类似"yourscheme://xxxxx"的URL来进行跳转。如果配置成功,则会弹出提示框询问是否访问该应用。 在iOS中,还有另一种常见的跳转方式叫做Universal Links。与URL Scheme不同,Universal Links是通过在网页上添加普通的超链接来实现跳转。当用户点击这个超链接时,会直接在对应的App内打开相关页面。相比URL Scheme,Universal Links更加方便,因为它不需要在URL中添加特定的Scheme,并且可以在App内部直接处理跳转逻辑。 总结起来,URL Scheme跳转是通过在浏览器中输入特定的URL Scheme来启动目标App并传递参数,而Universal Links是通过在网页上添加超链接来实现跳转到对应的App内部。两种方式都可以实现App之的跳转,具体使用哪种方式取决于具体的需求和场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [IOS应用跳转URL scheme和Universal Links](https://blog.csdn.net/shaobing32/article/details/131170384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory 程序猴-赛雷: /app/log/bin # VALGRIND_LIB=/app/log/lib/valgrind ./valgrind --help valgrind: failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory Oracle推进SCN系列:使用oradebug在mount状态下推进SCN 可以使用 scn patch快速推scn https://www.xifenfei.com/2022/06/win-oracle-scn-patch.html 图像处理之基础---详解协方差与协方差矩阵 royaltyfourteen: 转都转不全还有脸要关注?我可qnmd 开发与研发:区别很大(上) m0_65152724: 研发是产品经理么 我理解的没问题吧 可移动磁盘显示0kb打不开怎么办 dintc: 先别格式化,可以用 hopeData 恢复数据。