有没有办法从我的应用程序打开iMessage苹果应用程序?我不需要任何作曲家,主要的想法是用扩展名打开实际的iMessage。
EDITED
我不想发送任何消息;我只需要打开iMessage App
答案 0 :(得分:13)
这可以按照以下方式完成(在Swift 2中):
let phoneNumber = "958585858"
let text = "Some message"
guard let messageURL = NSURL(string: "sms:\(phoneNumber)&body=\(text)")
else { return }
if UIApplication.sharedApplication().canOpenURL(messageURL) {
UIApplication.sharedApplication().openURL(messageURL)
}
如果您只需要打开消息app:
guard let messageAppURL = NSURL(string: "sms:")
else { return }
if UIApplication.sharedApplication().canOpenURL(messageAppURL) {
UIApplication.sharedApplication().openURL(messageAppURL)
}
请务必在sms:
LSApplicationQueriesSchemes
添加到Info.plist
答案 1 :(得分:5)
使用swift3,你可以这样做
if UIApplication.shared.canOpenURL(URL(string:"sms:")!) {
UIApplication.shared.open(URL(string:"sms:")!, options: [:], completionHandler: nil)
}
答案 2 :(得分:1)
ViewController.h
NSString *app = @"Messages.app";
ViewController.m
// https://developer.apple.com/documentation/appkit/nsworkspace?language=objc
- (IBAction)openclick:(id)sender {
NSLog(@"Opening iMessage");
[[NSWorkspace sharedWorkspace] launchApplication:(NSString *)app];
}
答案 3 :(得分:1)
以下内容将打开消息应用程序,但不显示“发送消息”作曲家。如果没有显示这样的作曲家,我无法在这里使用其他解决方案,所以我想我会尝试以另一种方式破解它:
if let url = URL(string: "messages://"), UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url)
}
完全披露:我只在 iOS 14 上测试过这个,我还没有尝试将它提交到 App Store,看看 Apple 是否批准。