2016-06-01 5 views
2

Я работаю над приложением, в котором письмо с подтверждением пользователя отправляется на адрес электронной почты пользователя. Я могу получить почту в этом формате «http://www.sample.com//Register.aspx?xxx(with параметров»). Теперь при нажатии этой почты мне нужно запустить страницу регистрации в iOS9.URL-адрес схемы, не работающей в iOS9

Примечание: если я набираю Register.aspx: // в приложении Safari, но не с URL-адреса электронной почты.

Я сделал следующие вещи в info.plist и в коде 1.info.plist

<key>CFBundleURLTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>Register.aspx</string> 
      </array> 
     </dict> 
    </array> 
<key>LSApplicationQueriesSchemes</key> 
    <array> 
     <string>Register.aspx</string> 
    </array> 

2.in приложение делегат я использовал:

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 

    BOOL canBeOpened = [[UIApplication sharedApplication] 
         canOpenURL:[NSURL URLWithString:@"Register.aspx://"]]; 

    if (canBeOpened) { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test Message" 
                 message:@"This is a url scheme" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [alert show]; 

    } 
    else{ 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test Message" 
                 message:@"This is not a url scheme" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [alert show]; 

    } 
} 

ответ

3

Вы регистрируете неправильно часть URL-адреса в качестве схемы. Пример, который вы предоставляете, имеет стандартную схему URL-адресов http.

Бит URL перед первым двоеточием является схемой (http или https обычно). Чтобы использовать пользовательскую схему необходимо составить новую схему для URL и вывода, что URL в вашей электронной почты, например:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>mycoolapp</string> 
     </array> 
    </dict> 
</array> 
<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>mycoolapp</string> 
</array> 

Потребности по электронной почте с URL, как:

mycoolapp://www.sample.com/Register.aspx 
2

IOS 9 имеет внес небольшое изменение в обработку схемы URL. Вы должны включить белый список URL-адресов, которые ваше приложение вызовет, используя ключ LSApplicationQueriesSchemes в вашем Info.plist.

Проверьте эту ссылку : http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes

 Смежные вопросы

  • Нет связанных вопросов^_^