Веб-просмотр iOS с помощью urlstartswith

если есть кто-то, кто может помочь мне создать простое приложение iOS, мне нужен только код

Приложение нуждается в WebView, который загрузит следующий URL-адрес: http://www.applicationurl.com/?param=(udid) Парам udid должен быть статическим, поэтому он никогда не изменится

Приложение будет иметь 1 кнопку «Назад» для веб-просмотра и 3 простых ifUrlStartsWith if's

если ссылка в веб-браузере <a href="tel://phonenumer">Click to Call</a> он будет называть этот номер телефона

если ссылка в веб-просмотре <a href="loc://show-location">Apple Map's</a> она откроет карты Apple для статического адреса, адрес может быть сохранен в NSSTRING mapadress = @ "Romania Street Haleluia nr.2 ";

если ссылка в webview <a href="exit://exit-app">Exit App</a> она автоматически закроет приложение

Кто-нибудь может мне помочь ? я всегда застреваю в urlstartswith, и текущий url не появляется.

Код, который я использую

  // // ViewController.m // Aqua Park President // // Created by Alex Bonta on 7/13/14. // Copyright (c) 2014 Aqua President. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize webView; - (void)viewDidLoad { // GET THE PHONE UDID NSString *udid=[[[UIDevice currentDevice] identifierForVendor] UUIDString]; udid=[udid substringToIndex:5]; // Loading the url adress with the param of the uinique id NSString *string = [NSString stringWithFormat:@"http://app.aquapark-felix.ro/?email=%@",udid]; NSURL *url = [NSURL URLWithString:string]; [webView loadRequest:[NSURLRequest requestWithURL:url]]; NSString *currentURL = webView.request.URL.absoluteString; - (BOOL) webView;(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { //Catching URLs and telling the app what to do if ([[[request URL] scheme] isEqualToString:@"tel"]) { NSLog((@"ASA")); } } [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end 

Я очистил ваш код, а также ответил на него. Пожалуйста, ознакомьтесь с комментариями в коде для объяснения кода, а также ознакомьтесь с Документацией по схемам URL-адресов Apple . Код ниже был протестирован и работает, когда вы передаете правильную схему URL, такую ​​как

HTML для звонка

<a href="tel:1-408-555-5555">1-408-555-5555</a>

Natiave для звонка

tel:1-408-555-5555

HTML для доступа к приложению карт

<a href="http://maps.apple.com/?daddr=San+Francisco,+CA&saddr=cupertino">Directions</a>

Родной для доступа к приложению карт

http://maps.apple.com/?daddr=San+Francisco,+CA&saddr=cupertino

Если вы не настроили их правильно, это не сработает. Когда вы придете с сайта, вам понадобятся версии HTML.

 // // ViewController.m // Aqua Park President // // Created by Alex Bonta on 7/13/14. // Copyright (c) 2014 Aqua President. All rights reserved. // #import "ViewController.h" @implementation ViewController // This can be removed as it is done automcatically for you. //@synthesize webView; - (void)viewDidLoad { // A call to the super must come first. [super viewDidLoad]; // Construct a url request with the UUID string and pass it to the _webView [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://app.aquapark-felix.ro/?email=%@",[[[[UIDevice currentDevice] identifierForVendor] UUIDString] substringToIndex:5]]]]]; } - (BOOL) webView;(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { // Check whether the URL scheme is of "tel" // "loc" will not open the apple maps app this code is done so it will. if([request.URL.scheme isEqualToString:@"tel"] || [request.URL.absoluteString hasPrefix:@"http://maps.apple.com/?q"]) { // We need to make sure we can actually open the urls that have been passed in. // We do this for two reason 1) if we couldn't it would be a bad user experience // and 2) you can't make calls on a iPod. if([[UIApplication sharedApplication] canOpenURL:request.URL]) { // Yes we can make a phone call so lets make it. // Based on your number being formatted correctly if it's not then it will not work. [[UIApplication sharedApplication] openURL:request.URL]; } // If all else fails and we can't open the url just return no. // I would recommend a UIAlertView here to tell the user. return NO; } // As for exiting the app don't do this at all. // Every other URL just return YES and continue with the Request. return YES; } @end 

Если вы пытаетесь получить URL-схему (http, loc, tel и т. Д.),

 - (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { //Catching URLs and telling the app what to do if ([[[request URL] scheme] isEqualToString:@"tel"]) { // Code return NO; } return YES; } 

И так далее для ваших других схем.

Это нужно выйти за пределы viewDidload. Смотри ниже.

 // ViewController.m // Aqua Park President // // Created by Alex Bonta on 7/13/14. // Copyright (c) 2014 Aqua President. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize webView; - (void)viewDidLoad { // GET THE PHONE UDID NSString *udid=[[[UIDevice currentDevice] identifierForVendor] UUIDString]; udid=[udid substringToIndex:5]; // Loading the url adress with the param of the uinique id NSString *string = [NSString stringWithFormat:@"http://app.aquapark-felix.ro/?email=%@",udid]; NSURL *url = [NSURL URLWithString:string]; [webView loadRequest:[NSURLRequest requestWithURL:url]]; NSString *currentURL = webView.request.URL.absoluteString; [super viewDidLoad]; } - (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { //Catching URLs and telling the app what to do if ([[[request URL] scheme] isEqualToString:@"tel"]) { NSLog((@"ASA")); return NO; } return YES; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end 
  • как обнаружить перенаправления url происходит при загрузке UIWebView на iphone?
  • Обнаруживать, когда веб-просмотр становится полноэкранным на ios8
  • Предотвращение прокрутки UIWebView при появлении клавиатуры
  • Как сохранить веб-страницу из UIWebview для автономного просмотра
  • Загрузка изображения в локальный HTML-файл - UIWebView
  • UIWebView scalesPageToFit = true не работает
  • QLPreviewController VS UIWebView с точки зрения эффективности рендеринга и использования памяти
  • Ошибка типа Meme в UiWebView
  • Как предоставить UIWebView доступ к текущему местоположению gps
  • Определите, нужно ли UIWebView использовать HTTP или HTTPS
  • UIWebView не загружается полностью, высота варьируется
  • Interesting Posts

    Исчисление для преобразования координат Y с целью обновления bpm в метрономе

    Какую дату истечения срока действия я должен увидеть при покупке приложения в изолированной программной среде приложения?

    Цель c – Освободить одноэлементное свойство

    IBM Worklight – Можно ли добавить UINavigationController в качестве начальной исходной страницы?

    Кварцевый рисунок с текстурами

    Отображение клавиатуры в нужное время iOS7

    Настройка производительности iOS: самый быстрый способ получить пиксельный цвет для больших изображений

    Использование универсальных элементов покупки в приложении для динамического диапазона цифровых продуктов

    Сбой при использовании агрегатной операции: «ВСЕ» в приложении IOS Core Data

    Bluetooth не подключается с включенным общим доступом

    Есть ли точка перехвата, например prepareForSegue для TabBarController?

    Настройка настраиваемых свойств для пользовательских открываемых объектов графа с помощью Facebook iOS SDK

    Слияние папок с NSFileManager, перезапись только существующих файлов

    Почему у emoji есть два разных кода utf-8? Как преобразовать emoji из utf-8, использовать NSString в ios?

    как перемещать inputView над клавиатурой при прокрутке таблицы

    Давайте будем гением компьютера.