apple watch 开发关键知识点

1. apple watch extension数据获取

1.1 watchOS1 使用 openParentApplication:reply: 方法跟app请求数据

1.2 watchOS2 openParentApplication:reply: 方法被弃用,不能调用,需要使用 WCSession

  WCSession 使用有几个关键点需要注意:
  • app target和 extension target都需要添加 WatchConnectivity.framework
  • 调用WCSession的任何方法都需要给WCSession实例设置delegate(WCSessionDelegate)
代码例子:
    if ([WCSession isSupported]) {
        WCSession* session = [WCSession defaultSession];
        session.delegate = self;
        [session activateSession];
        NSDictionary *message = @{@"RequestType":@"loadMessageList"};
        [session sendMessage:message replyHandler:^(NSDictionary<NSString *,id> * _Nonnull replyMessage) {
            NSArray *messages = replyMessage[@"data"];
            [self.table setNumberOfRows:messages.count withRowType:@"MessageRowController"];
            [messages enumerateObjectsUsingBlock:^(NSDictionary * _Nonnull message, NSUInteger idx, BOOL * _Nonnull stop) {
                MessageRowController *row = [self.table rowControllerAtIndex:idx];
                [row.lbMessage setText:message[@"content"]];
                [row.lbTime setText:message[@"addTimeStrToDay"]];
            }];
        } errorHandler:^(NSError * _Nonnull error) {
        }];
    }

1.3 另外一种方式是通过App Group方式共享数据

2. apple watch 中显示图片

  watchOS中图片用 WKInterfaceImage 对象


- (void)setImage:(nullableUIImage *)image; // 图片在app包下面,用这种方式

- (void)setImageNamed:(nullableNSString *)imageName; // 图片在watch app包下面,用这种方式


  

3. 发消息时错误7006

   有时候iphone端往watch发送消息,说watch上没有安装app。解决办法就是iPhone apple watch app里面找到对应的app的在watch上显示app选项,先取消再打开。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值