Ошибка WebKitErrorDomain 101

Следующий код генерирует и вызывает ошибку:

WebKitErrorDomain error 101 

код:

-(Void) searchBarSearchButtonClicked: (UISearchBar *) activeSearchBar { 
    NSString * query = [searchBar.text stringByReplacingOccurrencesOfString: @ "" withString: @ "+"]; 
    NSURL * url = [NSURL URLWithString: [NSString stringWithFormat: @ "http://http://www.google.com/search?q =%, query]]; 
    NSURLRequest * requestObj = [NSURLRequest requestWithURL: url]; 
    [Home loadRequest: requestObj]; 
} 

-(Void) loadView { 
     [Super loadView]; 
     CGRect bounds = [[UIScreen mainScreen] applicationFrame];   
     searchBar = [[UISearchBar alloc] initWithFrame: CGRectMake (0.0, 0.0, bounds.size.width, 48.0)]; 
     searchBar.delegate = self; 
     [Self.view addSubview: searchBar];
}

Я не говорю по-английски и полагаюсь на переводчика. Из-за проблемы с языком это может быть проблема с клавиатурой или проблема с кодировкой?

Ответ 1

В соответствии с заголовком WebKitError ошибка 101 означает "WebKitErrorCannotShowURL", что не очень полезно.

Эта строка неверна:

NSURL * url = [NSURL URLWithString: [NSString stringWithFormat: @ "http://http://www.google.com/search?q =%, query]]; 

... он должен выглядеть так:

NSURL * url = [NSURL URLWithString: [NSString stringWithFormat: @ "http://www.google.com/search?q =%@", query]]; 

Я не уверен, что это вызывает ошибку, создавая плохой URL-адрес или если это опечатка.

Ответ 2

Не добавляйте пробелы в строке URL.

Ответ 3

Убедитесь, что ваш URL-адрес не содержит пробелов и новых символов строки.

Для этого вы можете использовать следующий код:

NSString *newString = [url stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];