繁体   English   中英

无法从应用程序使用 FaceTime

[英]Can't use FaceTime from app

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

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

我通过从我的应用程序内的通讯录中选择它来获取 contactNumber,它可以正常使用普通电话/短信。 有没有人有解决我的问题的方法?

我不认为 PAIR 使用 FaceTime 进行视频聊天。

由于 FaceTime API 对开发人员不可用,您应该考虑使用OpenTok iOS SDK

以下是 GitHub 网站的摘录:

OpenTok iOS SDK 允许您在为 iPad、iPhone 和 iPod touch 设备构建的应用程序中使用 OpenTok视频会话 这意味着您可以使用 OpenTok 视频会话,将 iOS 用户彼此连接起来并与 Web 客户端连接。

您可以使用本机应用程序 URL 字符串进行 FaceTime 视频通话,这是官方的规定:

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 中,要么传递电话号码,要么传递 appleid。

   NSString *phoneNumber = @"9999999999";
   NSString *appleId = @"abc@gmail.com";
   [self callFaceTime:appleId];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM