我有一个 iOS 应用程序,我在 appleWatch 上为它编写了一个扩展程序。我正在使用 transferUserInfo 方法将数据(NSDictionary)发送到 appleWatch 扩展。一切都在模拟器中运行,但是当我尝试在真实设备上运行应用程序时,虽然 iPhone 正在发送数据,但 iWatch 似乎没有收到任何信息(我发现这是因为我调试了发送方)。
我已经在两边配置了 WCSession。我已经在我应该接收数据的类中符合 WCSessionDelegate 。我正在使用 session:didReceiveUserInfo: 方法在 ExtensionDelegate 中接收数据,但仍然像我说的那样在模拟器中一切正常,但在真实设备上没有传输任何内容。
有没有人知道问题是什么?
这是代码:在发送方:
在我的班级 MensaViewController.m 中
- (void)viewDidLoad
if ([WCSession isSupported]) {
session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
}
NSLog(@"A dish is being sent");
[session transferUserInfo:dishDictionary];
}
Run Code Online (Sandbox Code Playgroud)
discDictionary 在 viewDidLoad 方法中声明,它包含数据。
在接收器端(Watch Extension),我配置 WCSession 并在 ExtensionDelegate.m 中接收数据,如下所示:
- (void)applicationDidBecomeActive {
if ([WCSession isSupported]) {
session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
NSLog(@"Session activated in iWatch"); …Run Code Online (Sandbox Code Playgroud)