我发现您可以通过
从您的应用启动FaceTime[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"facetime://tel-number"]];
我也在阅读,因为没有正式公开的FaceTime API苹果会拒绝你。
有人知道这种拒绝谈话是否属实? PAIR具有此功能,但从未被拒绝过。
答案 0 :(得分:14)
答案 1 :(得分:5)
我的应用因使用FaceTime网址而被拒绝。这是我在Apple决议中心得到的回应的一部分。
我们在您的应用中发现了以下非公开API:具体来说, 您的应用使用FaceTime URL方案,该方案未记录。
如果您在源代码中定义了与其名称相同的方法 上面提到的API,我们建议改变你的方法名称 他们不再与Apple的私人API发生冲突,以避免你的 申请在未来的提交中被标记。
这是之前版本的更新。第一个版本被接受没有任何问题。由于上述原因,现在更新已被拒绝。似乎我现在必须在没有FaceTime的情况下发布应用程序。
修改强>
现在,在第三方应用中使用FaceTime网址是合法的。
答案 2 :(得分:1)
作为一般规则,如果您使用未记录的API调用并且Apple抓住了您,他们将拒绝您的应用程序。原因是它们可能会更改您在新的IOS更新中使用的API调用,从而导致应用程序崩溃或无法正常工作。您可以尝试使用未记录的API进行提交,并希望苹果能够通过,但正如我所说,您冒着Apple改变此api调用或将来从操作系统中完全删除它的风险。
答案 3 :(得分:1)
我认为没有任何理由会被拒绝,特别是如果已经有一个使用此功能的应用程序。 App Store Review Guidelines是确定您的应用是否会被拒绝的最佳方式,而且我看不到任何适合您情况的内容。
当然,Apple可以做任何他们想做的事情,所以绝对肯定它会被接受的唯一方法就是提交它,但我非常怀疑你会遇到问题。
答案 4 :(得分: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];