2014-10-03 1 views
5

OpenURL Appdelegate 메서드에 문제가 있습니다.응용 프로그램 openURL Swift

내 수입 UTI 및 문서 유형을 설정했습니다. 그러나 메일 첨부 파일에서 내 앱을 열면 앱이 구현 된 즉시 앱이 다운됩니다.

감가 상각 된 handleOpenURL은 작동하지만 OpenURL은 작동하지 않습니까?

현재 구현에 코드가 없으며 true를 반환하고 있습니다.

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool { 
    return true 
} 

충돌이 Thread 1: EXC_BAD_ACCESS (code-1, address-0x0)

난 정말 사용되지 않는 방법을 사용하고 싶지 않아요 말한다.

+0

메소드 서명과 nil을 옵션이 아닌 매개 변수로 전달하려고 시도 할 때 일반적으로 서명이 일치하지 않으므로 'sourceApplication' 매개 변수를 암시 적으로 래핑 해제 옵션으로 만들 수 있습니다. 물론 그것은 단지'abort()'가 호출되었음을 나타 내기 때문에 가능한 다른 몇 가지 오류를 나타냅니다 ... 또한 'annotation' 매개 변수가 명시 적으로 암시 적으로 래핑되지 않아도 될 수 있습니다. 그것에 대해 더 생각하면, 실제로 그럴 가능성이 더 큽니다. –

+0

데이비드 감사합니다. 실제로는 sourceApplication 매개 변수였습니다. 이 내용을 답으로 추가하려면 동의 할 것입니다. 다시 한 번 감사드립니다. – BassetMan

답변

2

이것은 Swift 컴파일러에 의해 자동으로 생성 된 메서드 서명과 실제 서명 간의 서명 불일치와 매우 유사합니다. Objective-C에서 nil을 Swift 명시 적으로 래핑되지 않은 옵션으로 전달하려고 할 때 발생합니다. annotation 매개 변수를 암시 적으로 언 래핑으로 변경하면 gtg이어야합니다.