2014-12-15 2 views
2

은 내가 신속한 잘못된 일을해야 알아 ... 새로운 API는 ... 방법의 한 쌍을 선언 시계 키트 확장에 사용할 수 있습니다handleWatchKitExtentionRequest ... watchkit 확장에 값을 반환하기 위해 reply 요소에 액세스하려면 어떻게해야합니까?

class func openParentApplication(_ userInfo: [NSObject : AnyObject]!, 
         reply reply: (([NSObject : AnyObject]!, 
             NSError!) -> Void)!) -> Bool 

... 그리고

func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!) { 
요청을 처리하기 위해 부모 응용 프로그램에서 사용할 수 있습니다

....

나는 아마 신속와 함께, 뭔가 잘못하고있는 중이 야 알고 있지만, 응답 객체는 내가 정보를 다시 보낼 수있는 것으로 가정된다 확장,하지만 그림 수 없습니다 handlewatchkitextentionrequest 메소드에서 응답 객체/사전에 값을 설정하는 방법을 알아 냈습니다 ... 신속한 구문을 이해하지 못하는 것을 알고 있지만, 시도한 모든 것이 실패했습니다. 어떻게 값을 넣고 사전을 정의합니까? 나는 사전을 만들고 그것을 답장에 할당하려고 노력하지 않았다. 아니, 주사위없이 요소에 접근하려고 노력했다 ... 나는 이것이 단순해야한다는 것을 알고 있지만, 나는 그것을 보지 않고있다.

답변

1

, 분명히이 적절한 방법 가

func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!) { 

내부도 답을 찾을 수이 너무 어려운 이유 와우, 당신은을 통해 다시 보내

reply(["x":"y"]) 
4

Watchkit 확장 :

// Call the parent application from Apple Watch 

// values to pass 
let parentValues = [ 
    "value1" : "Test 1", 
    "value2" : "Test 2" 
] 

WKInterfaceController.openParentApplication(parentValues, reply: { (replyValues, error) -> Void in 
    println(replyValues["retVal1"]) 
    println(replyVaiues["retVal2"]) 
}) 

iOS 앱 :가 watchOS 2 FUNC 애플리케이션

// in AppDelegate.swift 
func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!) { 
    // retrieved parameters from Apple Watch 
    println(userInfo["value1"]) 
    println(userInfo["value2"]) 

    // pass back values to Apple Watch 
    var retValues = Dictionary<String,String>() 

    retValues["retVal1"] = "return Test 1" 
    retValues["retVal2"] = "return Test 2" 

    reply(retValues) 
} 
+0

은 (애플리케이션 : UIApplication !, handleWatchKitExtensionRequest 유저 정보 : NSObject의 : AnyObject] !, 응답 (([NSObject의 : AnyObject]!) -> 보이드)) 인 시계 OS 2 WCSession에서 작동하지 않는 나는 그것을 알고 .. 어떻게 처리 handleWatchKitExtensionRequest ??? –

관련 문제