Картон iPhone не распознает URL - PullRequest
0 голосов
/ 16 декабря 2011

Я хочу, чтобы мое приложение распознало, является ли текущее содержимое буфера обмена URL-адресом, и если это так, я хочу, чтобы оно загружало этот URL-адрес в веб-просмотр.Я использую следующий оператор для этой проверки:

 if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url-name"]]) 
     ...code to load the URL into the webView

, но он не работает - оператор IF всегда возвращается как FALSE, даже если содержимое буфера обмена является явно URL-адресом.Как ни странно, хотя, когда я удаляю этот оператор IF и просто загружаю URL, который я прочитал из буфера обмена, в webView, он работает отлично.Так что это определенно просто заявление IF, которое по какой-то причине не работает.

Вот полный код:

// executed on a Button-click:
-(IBAction) showClipBoard {
    pasteboard = nil;  // resetting the pasteBoard each time
    pasteboard = [UIPasteboard generalPasteboard];
    NSURL *tempURL = pasteboard.URL;    

    //Check the pasteboard's value-type:
    if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url-name"]]) {
      NSLog(@"URL is: %@", pasteboard.string);       
      NSURL *url = [NSURL URLWithString: pasteboard.string];
      NSURLRequest *req = [NSURLRequest requestWithURL: url];
      [webView loadRequest:req];   
  }
else 
    NSLog(@"=NOT a valid web-address");

NSString *tempString = [pasteboard valueForPasteboardType:@"public.utf8-plain-text"];

// Show the URL in a text-view box called "clipText":
clipText.text = tempString;

}

Кто-нибудь видит, что здесь не так?

1 Ответ

0 голосов
/ 08 августа 2012

Вы, наверное, уже поняли это, но я столкнулся с той же проблемой, и мне помогло следующее: -

if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url"]]) 
 ...code to load the URL into the webView
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...