无法从应用程序中使用FaceTime

问题描述 投票:0回答:2

我正在写一个App,你可以通过FaceTime打电话给一个人。我的问题是,当我点击我的FaceTime呼叫按钮时,FaceTime打开了,但总是有一个消息 "animStartXXXXXXX is not available for FaceTime."。XXXX是随机数字)。如果我再从正常的FaceTime应用程序中呼叫同一个人,它的工作。

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

我通过在我的应用程序中从地址簿中选择它来获得联系人号码,并且它与正常的电话和短信都能正常工作。有人能解决我的问题吗?

ios iphone objective-c
2个回答
0
投票

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

由于FaceTime的API对开发者来说是不可用的,你应该考虑使用 OpenTok iOS SDK.

以下是GitHub网站的摘录。

OpenTok iOS SDK可以让你使用OpenTok。视频会议 在你为 iPad、iPhone 和 iPod touch 设备构建的应用程序中。这意味着你可以使用OpenTok视频会话,将iOS用户之间以及与网络客户端连接起来。


0
投票

官方宣布,你可以在FaceTime视频通话中使用Native应用URL字符串。

facetime:// 14085551234
facetime://[email protected]

请参考链接 。https:/developer.apple.comlibraryarchivefeaturedarticlesiPhoneURLScheme_ReferenceFacetimeLinksFacetimeLinks.html。

虽然这个功能在所有设备上都支持,但对于iOS 10.0及以上的设备,你必须稍微修改一下代码,因为openURL:已被废弃。

https:/developer.apple.comdocumentationuikituiapplication1622961-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 = @"[email protected]";
   [self callFaceTime:appleId];
© www.soinside.com 2019 - 2024. All rights reserved.