Search code examples
iosobjective-cyoutubeios9

Youtube application launch from other app is not working in ios 9


  if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"https://www.youtube.com/watch?v=VideoID"]]) {

        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.youtube.com/watch?v=VideoID"]];
    }

Output : -canOpenURL: failed for URL: "youtube://www.youtube.com/watch?v=UFccvtrP1d8" - error: "This app is not allowed to query for scheme youtube"


Solution

  • try this

    In iOS 9 you must whitelist any URL schemes your App wants to query in Info.plist under the LSApplicationQueriesSchemes key (an array of strings):

    add string as youtube

    for example

    <key>LSApplicationQueriesSchemes</key>
    <array>
     <string>youtube</string>
       </array>
    

    secondary check that the youtube app is available or not in your device

    for example

     NSString *Name = @"VideoID";
    
    NSURL *linkToApp = [NSURL URLWithString:[NSString stringWithFormat:@"youtube://watch?v=%@",Name]]; // I dont know excatly this one 
    NSURL *linkToWeb = [NSURL URLWithString:[NSString stringWithFormat:@"https://www.youtube.com/watch?v=%@",Name]]; // this is correct
    
    
    if ([[UIApplication sharedApplication] canOpenURL:linkToApp]) {
        // Can open the youtube app URL so launch the youTube app with this URL
        [[UIApplication sharedApplication] openURL:linkToApp];
    }
    else{
        // Can't open the youtube app URL so launch Safari instead
        [[UIApplication sharedApplication] openURL:linkToWeb];
    }
    

    for more information about play Youtube Video