1
我有一個應用程序可以說2個應用程序 - app1,app2 可以說我從app1 app2打開。 如何使用自定義網址方案從app2發回數據,就像在Facebook應用程序中一樣? 如果我用url重新打開app1,我會看到回到app2,它對我的情況不是好主意。 我想打開app2,就像模態地呈現,並用返回的數據解僱它。是否有可能?自定義Url Schemes問題
我有一個應用程序可以說2個應用程序 - app1,app2 可以說我從app1 app2打開。 如何使用自定義網址方案從app2發回數據,就像在Facebook應用程序中一樣? 如果我用url重新打開app1,我會看到回到app2,它對我的情況不是好主意。 我想打開app2,就像模態地呈現,並用返回的數據解僱它。是否有可能?自定義Url Schemes問題
您可以從info.plist文件爲您的應用程序定義自定義URL架構。您可以檢查SO上的現有線程。
以您的情況爲例,在app1中定義自定義網址myAppOneScheme
,並在您的應用2中定義自定義網址myAppTwoScheme
。
當您從應用程序1打開APP 2,通APP1的網址是這樣的:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"myAppOneScheme://test?callerURL= myAppOneScheme"]];
從APP 2,處理OpenURL方法:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
NSLog(@"url recieved: %@", url);
NSLog(@"query string: %@", [url query]);
NSLog(@"host: %@", [url host]);
NSLog(@"url path: %@", [url path]);
NSDictionary *dict = [self parseQueryString:[url query]];
NSLog(@"query dict: %@", dict);
// NSString callerurl = parse callerURL from query
// store callerurl in user default or global variable.
return YES;
}
當你在APP 2與操作完成,並希望回到APP1,開放呼叫者網址
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:"%@//testback?response=%@", caller url , datayouwanttoSendback]]];
現在,在APP1,再處理打開URL方法和解析響應
好了,在這種情況下,我會看回APP1,後 [UIApplication的sharedApplication]的OpenURL:[NSURL URLWithString:[的NSString stringWithFormat: 「%@ // testback?response =%@」,調用者url,datayouwanttoSendback] from ios system api,like back to safari.am I right? –
我希望它像facebook 從底部到頂部模態打開,並關閉它像解散控制器 –