Question

I am seeing that you can launch FaceTime from your app via

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"facetime://tel-number"]];

I am also reading that since there is no officially public FaceTime API apple will reject you.

Does anyone know if this rejection talk is true? PAIR has this feature and they have never been rejected.

OTHER TIPS

My app got rejected for using FaceTime url. This is the part of response i got from Apple in resolution center.

We found the following non-public API/s in your app: Specifically, your app uses the FaceTime URL scheme, which is undocumented.

If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple's private APIs to avoid your application being flagged in future submissions.

It was an update of a previous release. The first version got accepted without any problem. Now the update has been rejected due to the above mentioned reason. Seems i have to publish the app without the FaceTime thingy now.

Edit:

Its now legal to use FaceTime url in third party apps.

As a general rule, if you use undocumented API calls and apple catches you, they will reject your application. The reason is because they could change the API call that you are using in new IOS updates and thus would cause your application to crash or not work properly. You can try and submit using the undocumented API and hope that apple lets it through but as i said, you run the risk of Apple changing this api call or removing it completely from the OS in the future.

I don't see any reason this would be rejected, especially if there's already an app that uses this functionality. The App Store Review Guidelines are the best way to determine if your app will be rejected, and I don't see anything in there that applies to you situation.

Of course, Apple can do whatever they want, so the only way to be absolutely sure it will be accepted is to submit it, but I highly doubt you will have a problem.

It is official that you can use Native app URL strings for FaceTime video calls:

facetime:// 14085551234
facetime://user@example.com

Please refer to the link: https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/FacetimeLinks/FacetimeLinks.html

Though this feature is supported on all devices, you have to change the code a little bit for iOS 10.0 and above as openURL(_:) is deprecated.

https://developer.apple.com/documentation/uikit/uiapplication/1622961-openurl?language=objc

Please refer code below for the current and fallback mechanism, so this way it will not get rejected by 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");
        }   
    }
  }

in contactNumber either pass phone number or appleid.

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top