通过URL Scheme在应用间传递参数(Swift)

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来进行发送。

转载于:https://my.oschina.net/iosscoket/blog/480620

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值