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
}
4、对应请求发送方,发送该url时调用方法如下所示:
func openUrl() {
var url: NSURL = NSURL(string: "iossocket://?name=iossocket&phone=1371234567")!
if UIApplication.sharedApplication().canOpenURL(url) {
UIApplication.sharedApplication().openURL(url)
} else {
//提示用户去下载该应用
}
}