我使用URL方案在我的iPhone应用程序,从页面我切换用户Safari浏览器,并从网页点击一个按钮,我回复到应用当时的一些参数是通过网页像传递
myapp://parameter=1
我怎样才能找到我的应用程序这个参数? 我已经放在一个破发点
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)ur
但同时复归back.it不被调用。
我使用URL方案在我的iPhone应用程序,从页面我切换用户Safari浏览器,并从网页点击一个按钮,我回复到应用当时的一些参数是通过网页像传递
myapp://parameter=1
我怎样才能找到我的应用程序这个参数? 我已经放在一个破发点
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)ur
但同时复归back.it不被调用。
您可以使用此url host
找出参数,在参数可以是任何类型,任何之后http://
或自定义标签custom://
将下面的代码被抓
NSString *urlParameter = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
如果你有多个参数,那么你可以使用componentsSeparatedByString
方法来分隔参数
NSString *query = [url query];
NSArray *queryComponents = [query componentsSeparatedByString:@"&"];
现在,你有所有字符串像queryComponents
param1=value
现在,你可以得到这样的第一个值
NSArray *firstParam = [[queryComponents objectAtIndex:0] componentsSeparatedByString:@"="];
[firstParam objectAtIndex:0] is the name of param
[firstParam objectAtIndex:1] is value of the param
试试这个代码。 这会很有用,即使你有参数和值的URL数量。
NSURL *url = [NSURL URLWithString:@"xyz.com/result.php?data1=1123660801&data2=250072028055&presult=SUCCESS"];
NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
NSArray *queryItems = [components queryItems];
NSMutableDictionary *dict = [NSMutableDictionary new];
for (NSURLQueryItem *item in queryItems)
{
[dict setObject:[item value] forKey:[item name]];
}