无法从应用程序使用FaceTime

时间:2013-11-18 10:46:06

标签: ios iphone objective-c

我正在编写一个应用程序,您可以通过FaceTime呼叫某个人。我的问题是,当我点击我的按钮进行FaceTime调用时,FaceTime会打开,但总会有一条消息“animStartXXXXXXX不适用于FaceTime”。 (XXXX是随机数)。如果我然后从正常的FaceTime应用程序调用同一个人它可以工作。 FaceTime调用的代码:

 NSString *facetimeString = @"facetime://";
[facetimeString stringByAppendingString:contactNumber];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:facetimeString]];

我从我的应用程序中的Adressbook中选择了contactNumber,它可以正常通话/短信工作。 有没有人能解决我的问题?

2 个答案:

答案 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

请参考链接:https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/FacetimeLinks/FacetimeLinks.html

尽管所有设备都支持此功能,但由于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];