我看到您可以通过以下方式从您的应用程序启动 FaceTime
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"facetime://tel-number"]];
我也在读到,因为没有正式公开的 FaceTime API,苹果会拒绝你。
有谁知道这个拒绝谈话是否属实?PAIR 有这个功能,他们从来没有被拒绝过。
我看到您可以通过以下方式从您的应用程序启动 FaceTime
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"facetime://tel-number"]];
我也在读到,因为没有正式公开的 FaceTime API,苹果会拒绝你。
有谁知道这个拒绝谈话是否属实?PAIR 有这个功能,他们从来没有被拒绝过。
我的应用因使用 FaceTime 网址而被拒绝。这是我在解决中心从 Apple 收到的部分回复。
我们在您的应用中发现了以下非公共 API: 具体来说,您的应用使用了 FaceTime URL 方案,该方案未记录在案。
如果您在源代码中定义了与上述 API 同名的方法,我们建议您更改方法名称,以便它们不再与 Apple 的私有 API 冲突,以避免您的应用程序在以后的提交中被标记。
这是对先前版本的更新。第一个版本没有任何问题被接受。由于上述原因,现在更新已被拒绝。看来我现在必须在没有 FaceTime 的情况下发布应用程序。
编辑:
现在在第三方应用程序中使用 FaceTime 网址是合法的。
作为一般规则,如果您使用未记录的 API 调用并且苹果抓住了您,他们将拒绝您的应用程序。原因是它们可能会更改您在新的 IOS 更新中使用的 API 调用,从而导致您的应用程序崩溃或无法正常工作。您可以尝试使用未记录的 API 提交并希望 Apple 允许它通过,但正如我所说,您冒着 Apple 更改此 api 调用或将来将其完全从操作系统中删除的风险。
我看不出有什么理由会被拒绝,特别是如果已经有一个应用程序使用了这个功能。App Store Review Guidelines是确定您的应用程序是否会被拒绝的最佳方法,我没有看到任何适用于您的情况的内容。
当然,Apple 可以为所欲为,所以唯一确定它会被接受的方法就是提交它,但我非常怀疑你会遇到问题。
官方可以使用原生应用 URL 字符串进行 FaceTime 视频通话:
facetime:// 14085551234
facetime://user@example.com
尽管所有设备都支持此功能,但您必须对 iOS 10.0 及更高版本的代码稍作更改,因为不推荐使用 openURL(_:)。
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 中传递电话号码或appleid。
NSString *phoneNumber = @"9999999999";
NSString *appleId = @"abc@gmail.com";
[self callFaceTime:appleId];