1

我最近开发了一个应用程序。现在我想在这个应用程序中集成谷歌和 Youtube,就像这个应用程序一样。经过大量搜索后,我认为有两种方法可以将谷歌和 youtube 集成到自定义键盘。

  1. 第一种方法(这是完美的解决方案,但看起来非常困难)是,如果我们在 Webview 中打开 google url,然后这里是当我们在 Google SearchBar 中单击时显示 customkeyboard 的方法。因为当我们在应用程序中使用 customkeyboard 时,我们通过 ( textView.inputView =Customkeyboard;) 但是对于谷歌搜索栏来说,如何使用这个方法看起来很困难,如果有人指导我这个方法我会很高兴的。

  2. 第二种方法不完美但看起来不错的是,如果我们使用自定义键盘在 UITextField 和 UITextView 中输入文本,然后像我为默认键盘所做的那样将此文本附加到 Google 搜索 url

      -(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]];
     }
    

    但是这次它没有打开所需的页面因为谷歌直接无法识别自定义键盘单词是(انڈیا),现在当我结合整个网址时(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%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 中,单词 (انڈیا) 消失了,浏览器将其翻译成某种类型的代码。最后,当我使用下面的代码时

    -(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 _ 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 ) 然后在 Google 中打开此 url。任何帮助或建议都将得到高度评价。谢谢提前。

4

1 回答 1

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]];
于 2013-01-09T13:17:15.803 回答