3

내 포함 앱에서 바코드 스캐너를 열려면 스캔 버튼이있는 키보드 확장을 만들었습니다. 스캔이 완료되면 초기 앱으로 다시 이동해야하며 키보드를 시작한 텍스트 필드에 바코드 데이터를 텍스트로 설정하고 스캔 버튼을 클릭해야합니다.딥 링크의 경우 이전 앱으로 연결하여 앱을 프로 그램에 포함하지 않음

enter image description here

그것을 같은 방식으로 수행이 응용 프로그램의 Scandit 웨지가있다. 그러나 나는 그것을 달성 할 길을 찾을 수 없었다. 아래 GIF를 참조하십시오.

https://s3.amazonaws.com/id123-dev-ios/scandit.gif

어떤 도움

이 많이 주시면 감사하겠습니다.

+0

. 어떤 해결책을 찾았습니까? –

답변

0

이전 응용 프로그램으로 전환 할 공용 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://"] 
}()