我有一个发送短信的iPhone应用程序。现在,我已经开始制作此应用程序的Apple Watch
版本。
当我尝试导入<MessageUI/MessageUI.h>
时,提示未找到。我一直在阅读,发现MessageUI
不是watchOS
可用的框架,但是我发现可以使用WatchConnectivity
使用不受支持的框架。我的问题是发现的所有示例都很快,我正在使用Objective-C
,我的问题是如何使用WatchConnectivity
使用MessageUI
和/或是否有另一种方式通过watchOS
发送短信?
最佳答案
不,您不能直接通过watchOS
发送短信,我们没有MessageUI
框架支持。但是,使用WatchConnectivity
将消息文本从Watch
发送到iPhone
,然后在电话上进行其余操作。但是,当应用程序位于background
中并且从watch接收消息时,存在局限性。
在手表上
if([WCSession isSupported]) {
WCSession *session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
[session sendMessage:[NSDictionary dictionaryWithObject:@"message text here" forKey:@"text"]
replyHandler:^(NSDictionary *reply) {
//handle reply from iPhone app here
}
errorHandler:^(NSError *error) {
//catch any errors here
}];
}
在iPhone上
- (void)session:(nonnull WCSession *)session didReceiveMessage:(nonnull NSDictionary<NSString *,id> *)message replyHandler:(nonnull void (^)(NSDictionary<NSString *,id> * __nonnull))replyHandler {
//--Message UI code here
}
Available System Technologies for WatchOS2