【问题标题】:iPhone App Custom Url Scheme IssueiPhone 应用程序自定义 URL 方案问题
【发布时间】:2013-05-05 18:05:31
【问题描述】:

我正在尝试获取自定义 url 方案以在应用程序中打开 url。所以 url 方案将是“example://confirm?1234”,我想将查询字符串用作 UIWebView 的 url 的一部分。这样会使 UIWebView 打开“http://www.example.com/confirm?1234”。这是在 AppDelegate 中完成的,所以我在控制 FirstViewController UIWebView 时也遇到了问题。任何帮助都会受到欢迎。

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
        sourceApplication:(NSString *)sourceApplication
        annotation:(id)annotation {
    NSLog(@"String: %@", [url query]);  
    NSString *web = @"http://www.example.com/confirm?[url query]";
    NSURL *url = [NSURL URLWithString:web];
    NSURLRequest *requestUrl = [NSURLRequest requestWithURL:url];
    [webView loadRequest:requestUrl];
}

【问题讨论】:

  • 你到底有什么问题?

标签: ios url nsurl


【解决方案1】:

您需要一个字符串格式来构建新的 URL:

NSLog(@"String: %@", [url query]);  
NSString *web = [NSString stringWithFormat:@"http://www.example.com/confirm?%@", [url query]];
NSURL *url = [NSURL URLWithString:web];

【讨论】:

    【解决方案2】:

    我想通了。如果其他人有类似的问题,下面的代码会有所帮助。

    - (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
     sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
     if ([[url host] isEqualToString:@"confirm"]) {
     NSLog(@"String: %@", [url query]);
     NSString *urlAddress = [NSString stringWithFormat:@"http://www.example.com/confirm.php?key=%@", [url query]];
    NSURL *url2 = [NSURL URLWithString:urlAddress];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url2];
     [webView loadRequest:requestObj];
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多