我正在编写一个应用程序,您可以通过FaceTime呼叫某个人。我的问题是,当我点击我的按钮进行FaceTime调用时,FaceTime会打开,但总会有一条消息“animStartXXXXXXX不适用于FaceTime”。 (XXXX是随机数)。如果我然后从正常的FaceTime应用程序调用同一个人它可以工作。 FaceTime调用的代码:
NSString *facetimeString = @"facetime://";
[facetimeString stringByAppendingString:contactNumber];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:facetimeString]];
我从我的应用程序中的Adressbook中选择了contactNumber,它可以正常通话/短信工作。 有没有人能解决我的问题?
答案 0 :(得分:0)
我不认为PAIR正在使用FaceTime进行视频聊天。
由于开发人员无法使用FaceTime API,因此您应该考虑使用OpenTok iOS SDK。
以下是GitHub网站的摘录:
OpenTok iOS SDK允许您在为iPad,iPhone和iPod touch设备构建的应用中使用OpenTok 视频会话。这意味着您可以使用OpenTok视频会话将iOS用户与Web客户端连接起来。
答案 1 :(得分:0)
可以在FaceTime视频通话中使用本机应用URL字符串是官方的
facetime:// 14085551234
facetime://user@example.com
尽管所有设备都支持此功能,但由于openURL:已过时,您必须为iOS 10.0及更高版本稍作更改代码。
https://developer.apple.com/documentation/uikit/uiapplication/1622961-openurl?language=objc
请参考下面的代码了解当前机制和后备机制,这样就不会被Appstore拒绝。
-(void) callFaceTime : (NSString *) contactNumber
{
NSURL *URL = [NSURL URLWithString:[NSString
stringWithFormat:@"facetime://%@", contactNumber]];
if (@available(iOS 10.0, *)) {
[[UIApplication sharedApplication] openURL:URL options:@{}
completionHandler:^(BOOL success)
{
if (success){
NSLog(@"inside success");
}
else{
NSLog(@"error");
}
}];
}
else {
// Fallback on earlier versions
NSString *faceTimeUrlScheme = [@"facetime://"
stringByAppendingString:contactNumber];
NSURL *facetimeURL = [NSURL URLWithString:faceTimeUrlScheme];
// Facetime is available or not
if ([[UIApplication sharedApplication] canOpenURL:facetimeURL])
{
[[UIApplication sharedApplication] openURL:facetimeURL];
}
else
{
// Facetime not available
NSLog(@"Facetime not available");
}
}
}
contactNumber中的通过电话号码或小程序。
NSString *phoneNumber = @"9999999999";
NSString *appleId = @"abc@gmail.com";
[self callFaceTime:appleId];