이전 응용 프로그램으로 전환 할 공용 API가 없다, 여기에 대답 : https://stackoverflow.com/a/13447282/1433612
그러나 당신이 할 수있는 당신은 응용 프로그램의 번들 ID와 URL 방식을 알고있는 경우. 비공식 목록은 인터넷에서 찾을 수 있습니다. 당신이 당신의 AppDelegate
에서이 같은 일을 할 수있는 소스 응용 프로그램을 인식 할 수 있다고 가정 : 나는 정확히 순간 같은 문제에 직면하고있어
public func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
guard let applicationBundleId = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String else {
return true
}
// Save your source application
sourceApplicationBundleId = applicationBundleId
return true
}
var sourceApplicationBundleId: String?
// Attempt to open application from which your app was opened
func openApplication() {
guard let applicationBundleId = sourceApplicationBundleId, let url = url(for: applicationBundleId) else {
return
}
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
func url(for bundleId: String) -> URL? {
guard let scheme = knownUrlSchemes[bundleId] else {
return nil
}
return URL(string: scheme)!
}
// A list of known url schemes
var knownUrlSchemes: Dictionary<String, String> = {
return ["com.google.Maps": "comgooglemaps://",
"com.facebook.Facebook": "fb://"]
}()
. 어떤 해결책을 찾았습니까? –