Xcode watchkit openParentApplication objective-c

时间:2016-01-14 01:13:44

标签: ios objective-c iphone xcode watchkit

嘿,我已经为我的手机申请了解锁/锁定我的车。基本上iphone界面只有4个按钮:锁定,解锁,中继和连接。当我按下一个按钮时,我会在我车内的arduino上写一些东西。我想知道我是否可以将这四个按钮“复制”到我的苹果手表上。我的意思是,我可以使用openParentApplication来做到这一点,还是有一些其他命令我可以用来模拟所以当我的苹果手表上点击按钮时按下我的iphone按钮。

Iphone按钮代码:

- (IBAction)lockCar:(UIButton *)sender;{
    NSString *string = @"l";
    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
    if (bleShield.activePeripheral.state == CBPeripheralStateConnected) {
        [bleShield write:data];
    }
}

- (IBAction)trunkCar:(UIButton *)sender;{
    NSString *string = @"t";
    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
    if (bleShield.activePeripheral.state == CBPeripheralStateConnected) {
        [bleShield write:data];
    }

}

- (IBAction)unlockCar:(UIButton *)sender;{
    NSString *string = @"u";
    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
    if (bleShield.activePeripheral.state == CBPeripheralStateConnected) {
        [bleShield write:data];
    }
}

到目前为止Apple Watch的代码:

- (IBAction)carConnect {
}

- (IBAction)carUnlock {
}

- (IBAction)carLock {
}

- (IBAction)carTrunk {
}

1 个答案:

答案 0 :(得分:0)

您可以使用WCSession在WatchKit扩展程序和随播应用之间建立通信。 通信渠道建立为:

if ([WCSession isSupported]) {
    WCSession* session = [WCSession defaultSession];
    session.delegate = self;
    [session activateSession];
}

还必须实现WCSessionDelegate以响应消息。

必须在每一方激活会话。 然后,您可以使用sendMessage:replyHandler:errorHandler:发送消息,并使用session:didReceiveMessage:replyHandler:接收来执行这些任务。

我建议您阅读WatchKit Class referencethis article on Watchkit communication patterns