View 나 button 을 클릭하여 연결된 앱을 열고자 할때 사용하는 방법이다.
일단 extensionContext 속성을 사용해야한다
일단 Today Extension 을 생성 했다는 가정하에 설명하도록 하겠다
Today Extension에서 앱을 실행하기 위해선 해당 앱의 CFBundleURLSchemes 값을 정의 해야한다
일단 해당앱의 Info.plist 파일을 Source Code 로 연다
위 이미지 처럼 코드를 추가해준다
설명하자면 앱을 식별할 수 있도록 App 의 URLName 과 URLSchemes 을 선언해주는 것이다
Today Extension 에서 아래 함수 (openApp()) 를 호출할 수 있도록 버튼이나 뷰를 만들고
TodayViewController 에 아래 메소드를 추가한다
func openApp(_ sender: AnyObject) {
// UrlName = com.Tester.openApp <ㄱ
// URLSchemes = openApp <- 두값이 같아야함
let url:NSURL? = NSURL(string: "openApp:")
// : <- 잊지말고 붙여넣자
if let appurl = url{
self.extensionContext!.open(appurl as URL, completionHandler: nil)
}
}
다시 빌드하여 View 나 button을 터치하여 테스트하면 앱이 열리는 것을 확인 할 수 있다.
댓글 없음:
댓글 쓰기