Веб-просмотр 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 

2 Solutions collect form web for “Веб-просмотр iOS с помощью urlstartswith”

Я очистил ваш код, а также ответил на него. Пожалуйста, ознакомьтесь с комментариями в коде для объяснения кода, а также ознакомьтесь с Документацией по схемам 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 
  • Отдельное хранилище файлов cookie для двоих (UIWebView или WKWebView)
  • Как диагностировать сбои, которые, как представляется, являются внутренними для WebCore (Thread 2, SIGSEGV)
  • Файлы cookie в UIWebView
  • Анимированный UIWebView не реагирует на касания во время анимации
  • Cordova + Crosswalk iOS все еще использует UIWebView
  • Учебник по sskeychain и базовому auth для iPad-приложений?
  • Продолжайте проигрывать cookie php session в UIWebView
  • Как получить координаты (CGRect) для выбранного текста в UIWebView?
  • Использовать фильтр UIWebViewNavigationTypeLinkClicked
  • UIWebView в UITableViewCell с динамическим размером
  • Вход с Tumblr в UIWebView
  • Interesting Posts

    UITextView – Вставить действие вставляет пустую строку на iOS 11

    iOS: выбор через UITextView на пользовательском UITableViewCell

    Утечка памяти CoreData из-за PrivateQueueConcurrencyType

    Правильный способ создания приложения только на неанглийском языке

    Xcode «Не отправлять приложения с покрытием в стиле GCC» Ошибка обработки загрузки iOS

    Ячейка просмотра таблицы маскирует только после прокрутки, а затем назад

    Как передать сенсорное событие из UIView в UIView (s) под ним?

    UIView animateWithDuration и UIProgressView setProgress

    Использует ли iOS-Simulator несколько ядер?

    Скрытие наложения UISplitViewController в портрете

    Правильное изображение, которое не возвращается из CoreImage в MonoTouch для действительного актива

    Ошибка UIDocumentPickerViewController из-за отсутствия права iCloud

    Изменение положения камеры спереди / сзади при записи видео

    Ошибка автозаполнения XCode 6 (<< тип ошибки >>)

    NSDictionary и основные данные

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.