最近在寫的項目中涉及到了應(yīng)用間的跳轉(zhuǎn)實現(xiàn)儒恋,iOS實現(xiàn)跳轉(zhuǎn)應(yīng)用是通過 openURL:方法;
此時遇到多個應(yīng)用跳轉(zhuǎn)到同一個應(yīng)用;根據(jù)不同的應(yīng)用的應(yīng)用則需要進行不同的操作维哈,隨后跳回到上一個應(yīng)用脐区。于是愈诚,此處就需要第一個應(yīng)用跳轉(zhuǎn)的過程中需要傳遞過來該應(yīng)用的URL Schemes,為后續(xù)的回跳做準(zhǔn)備,此時的當(dāng)前應(yīng)用的URL Schemes的獲取就成了關(guān)鍵。
之前炕柔, 獲取plist文件中的 version 酌泰,bundleId,displayName的方法同樣適用于 URL Schemes匕累;
右擊 info.plist陵刹,選擇 open as ?--> source code ( 以源碼形式打開)即可看到如下內(nèi)容
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
NSDictionary *bundleUrltypes = [infoDic objectForKey:@"CFBundleURLTypes"];
NSString *urlSchemes = [NSString stringWithFormat:@"%@",[bundleUrltypes objectForKey:@"CFBundleURLSchemes"]];
//? 此時獲取的URL Schemes 形式為? (\n (\n ? URL Schemes ? \n)? \n)
if ([urlSchemes containsString:@"("] || [urlSchemes containsString:@")"] || [urlSchemes containsString:@"\n"] || [urlSchemes containsString:@" "]) {
urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@" " withString:@""];
urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@"\n" withString:@""];
urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@"(" withString:@""];
urlSchemes = [urlSchemes stringByReplacingOccurrencesOfString:@")" withString:@""];
}
經(jīng)過處理后得到想要的 URL Schemes;即可作為參數(shù)在跳轉(zhuǎn)應(yīng)用時 ?進行傳遞欢嘿。