我创建一个简单的应用程序,涉及到苹果的关注和iPhone之间的通信。WatchOS 3:为什么WCSession永远不会在iPhone上激活?
目前使用的是iPhone 6S(10.3.2)与WatchOS 3.2.2
我不能让这两个沟通,我相信我的poblem是WCSession不会对iPhone激活。
当WatchOS代码运行,控制台打印出“activationDidCompleteWithState”如预期,表示WCSession已被激活(见下面的代码)。
然而,在iOS端的“activationDidCompleteWithState”方法不会打印到控制台。如果我尝试从手表发送短信到手机上,他们超时,我得到以下错误:
[WC] - [WCSession onqueue_handleMessageCompletionWithError:withMessageID:] 109FE5D2-6218-4D67-AFD7-E72FA7E4A22E由于WCErrorCodeTransferTimedOut - > IDSErrorTypeTimedOut-> IDSResponseTimedOut
我相信WCSession从来没有在手机上激活。有没有看到这个问题?我快要疯了这... ...
我以前建立了这个与WatchOS 2,它工作得很好。不知何故,WatchOS 3的更新已经让我了解。任何帮助将不胜感激。
iOS的代码AppDelegate.m:
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([WCSession isSupported])
{
WCSession* session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
}
return YES;
}
- (void)session:(WCSession *)session activationDidCompleteWithState:(WCSessionActivationState)activationState
error:(NSError *)error
{
NSLog(@"PHONE - activationDidCompleteWithState");
}
WatchOS代码ExtensionDelegate.m:
@implementation ExtensionDelegate
- (void)applicationDidFinishLaunching
{
if ([WCSession isSupported])
{
WCSession* session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
}
}
- (void)session:(WCSession *)session activationDidCompleteWithState:(WCSessionActivationState)activationState
error:(NSError *)error
{
NSLog(@"activationDidCompleteWithState");
}