Как искать в браузере с пользовательской клавиатурой?
Недавно я разработал приложение. Теперь я хочу интегрировать Google и Youtube в это приложение, как в этом приложении. После долгих поисков, наконец, я думаю, что есть два метода, с помощью которых мы можем интегрировать Google и YouTube для Customkeyboard.
Первый подход (который является совершенным решением, но выглядит крайне сложно) заключается в том, что если мы откроем URL-адрес Google в Webview, а затем вот метод, который показывает customkeyboard, когда мы нажимаем в Google SearchBar.Beacuse, когда мы использовали customkeyboard в приложении, тогда мы вызываем его через (textView.inputView =Customkeyboard;) Но для Google Searchbar, как использовать этот метод, выглядит сложной задачей, если кто-нибудь подскажет мне об этом методе, я буду очень признателен.
Второй подход, который не идеален, но выглядит хорошо, заключается в том, что если мы введем текст в UITextField и UITextView с помощью пользовательской клавиатуры, то добавим этот текст в URL-адрес поиска Google, как я это сделал для клавиатуры по умолчанию`
-(IBAction)openBrowser { NSString *parameter = @"NewYork"; NSString *url = @"https://www.google.com/search?q="; NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter]; UIApplication *app = [UIApplication sharedApplication]; [app openURL:[NSURL URLWithString:searchingurl]]; }
Вышеуказанный URL открывает желаемую страницу для меня. Поэтому, используя этот подход, я попробовал его для пользовательской клавиатуры, как показано ниже.
-(void)openBrowser { NSString *parameter = @"انڈیا"; NSString *url = @"https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&q="; NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter]; NSLog(@"searchingurl result:%@",searchingurl); UIApplication *app = [UIApplication sharedApplication]; [app openURL:[NSURL URLWithString:searchingurl]]; }
Но на этот раз он не открывает нужную страницу, потому что Google напрямую не может распознать слово "Пользовательская клавиатура" (انڈیا), теперь после этого, когда я объединяю весь URL (https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&q=انڈیا) и откройте его в браузере моего компьютера, и я получу результат (https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&site=webhp&source=hp&q=%D8%A7%D9%86% 88% ДА% Д.Б.%8C%D8% А7& OQ =% D8% A7% D9% 86% 88% DA &gs_l=hp.1.0.0l10.10727.35473.0.37372.5.4.1.0.0.0.304.1162.2-3j1.4.0...0.0...1c.3j4j1.PBbmxkMVaqc) Теперь в этом URL слова (انڈیا) исчезают, и браузер переводит его в какой-то тип кода. Наконец, когда я использовал код ниже
-(void)openBrowser { // NSString *parameter = @"انڈیا"; NSString *searchingurl = @"https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&site=webhp&source=hp&q=%D8%A7%D9%86%DA%88%DB%8C%D8%A7&oq=%D8%A7%D9%86%DA%88&gs_l=hp.1.0.0l10.10727.35473.0.37372.5.4.1.0.0.0.304.1162.2-3j1.4.0...0.0...1c.3j4j1.PBbmxkMVaqc"; //NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter]; NSLog(@"searchingurl result:%@",searchingurl); UIApplication *app = [UIApplication sharedApplication]; [app openURL:[NSURL URLWithString:searchingurl]]; }
Он отлично работает в iphone и откройте нужную страницу. Теперь я хочу, чтобы, если бы я использовал этот Второй подход, некоторые могли бы подсказать мне, как мы можем напрямую открыть URL после добавления пользовательского текста клавиатуры, такого как этот URL (https://www.google.com.pk / search? hl = ur & tbo = d & noj = 1 & q = انڈیا) или существует какой-то метод, с помощью которого мы можем преобразовать этот URL-адрес в Coding в приложении в этом формате https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&site=webhp&source=hp&q=%D8%A7%D9%86%DA%88%DB%8C%D8%A7&oq=%D8%A7%D9%86%DA%88&gs_l=hp.1.0.0l10.10727.35473.0.37372.5.4.1.0.0.0.304.1162.2-3j1.4.0...0.0...1c.3j4j1.PBbmxkMVaqc) и затем откройте этот URL в Google. Любая помощь или предложение будут высоко оценены Appriated.thanks заблаговременно.
1 ответ
Браузер кодирует انڈیا с UTF8, тогда это%D8%A7%D9%86%DA%88%DB%8C%D8%A7.
Попробуй это:
NSString *parameter = @"انڈیا";
NSString *url = @"https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&q=";
NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter];
NSString *encodedSearchingurl = [searchingurl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"searchingurl result:%@",encodedSearchingurl);
UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString:encodedSearchingurl]];