질문을 올렸을 때 iOS SDK에 API가 없었기 때문에 운이 좋지 않았습니다. 3 일 전인 2014 년 12 월 10 일에 Apple은 iOS 8.2 베타 2 SDK와 함께이 작업에 중요한 두 가지 SDK를 출시했습니다.
WatchKit 프레임 워크에서
,이 방법 아이폰 OS는 백그라운드에서 응용 프로그램을 실행하고 응용 프로그램의 AppDelegate에이 두 번째 방법은 추가됩니다이 메시지
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo))reply.
를 받게됩니다를 호출하여 WKInterfaceController
클래스
// Obj-C
+ (BOOL)openParentApplication:(NSDictionary *)userInfo
reply:(void (^)(NSDictionary *replyInfo,
NSError *error))reply
iOS SDK Beta 2 (이 질문의 측면에서) UIKit Framework, UIApplicationDelegate
클래스.
NSDictionary 및 응답 블록을 사용하여 Watch 앱 및 iOS 앱과 통신 할 수 있습니다.
예 당신의 WKInterfaceController
서브 클래스에서 iOS AppDelegate에 클래스 다음
- (IBAction)callPhoneAppButtonTapped
{
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"text to display", @"key", nil];
[InterfaceController openParentApplication:dictionary reply:^(NSDictionary *replyInfo, NSError *error) {
NSLog(@"Reply received by Watch app: %@", replyInfo);
}];
}
과에서
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply
{
NSLog(@"Request received by iOS app");
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"your value to return to Apple Watch", @"key", nil];
reply(dictionary);
}
당신은 애플 시계 버튼을 탭하면 iOS 시뮬레이터에서 iOS 앱 시뮬레이터 그러면 NSLog를 적절한 위치에서 볼 수 있습니다.
주
이 솔루션은 시계 및 iOS 응용 프로그램 사이의 물체를 운반 작동합니다. 그러나 더 많은 데이터를 전송하거나 이미지, 파일 등에 액세스하려면 Shared app group
을 사용해야합니다. Xcode 프로젝트 파일의 기능에서 공유 응용 프로그램 그룹을 설정합니다. containerURLForSecurityApplicationGroupIdentifier
(NSFileManager
클래스)을 사용하면 공유 그룹의 파일에 URL을 가져올 수 있습니다.
NSUserDefaults
에서 선호도 initWithSuiteName
을 공유하고 싶다면 무엇을 찾고 계십니까?
매우 흥미로운 업데이트 정보에 감사드립니다 !! 나는 이것을 최대한 빨리 시도 할 것이다! 유감스럽게도 나는 아직 답변을 포기하지 못한 채 충분한 평판을 얻지 못했습니다! 죄송 해요! – iVentis
쿨, 문제 없음 :) 그것은 당신을 위해 일 했나요? – lvp
아직 테스트 할 시간이 없었습니다! 내가 시간을 알면 곧 알려줄거야;) – iVentis