Comment prendre le paramètre du schéma d'URL.

J'utilise un schéma d'URL dans mon application iPhone, d'une page que je change d'user à un safari, et un clic de button d'une page Web, je reviens à l'application À ce moment, certains parameters sont passés par la page Web comme

myapp://parameter=1 

Comment puis-je find ce paramètre dans mon application? J'ai placé un sharepoint rupture dans

  -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)ur 

mais tout en revenant back.it n'est pas appelé.

Vous pouvez utiliser cet url host pour find les parameters, où les parameters peuvent être de n'importe quel type, n'importe quoi après que http:// ou custom custom:// seront capturés dans le code suivant

  NSSsortingng *urlParameter = [[url host] ssortingngByReplacingPercentEscapesUsingEncoding:NSUTF8SsortingngEncoding]; 

Si vous avez plusieurs parameters, vous pouvez utiliser la méthode componentsSeparatedBySsortingng pour séparer les parameters

 NSSsortingng *query = [url query]; NSArray *queryComponents = [query componentsSeparatedBySsortingng:@"&"]; 

Maintenant, vous avez toutes les strings dans queryComponents comme

 param1=value 

Maintenant, vous pouvez get la première valeur comme ça

 NSArray *firstParam = [[queryComponents objectAtIndex:0] componentsSeparatedBySsortingng:@"="]; [firstParam objectAtIndex:0] is the name of param [firstParam objectAtIndex:1] is value of the param 

Essayez ce code. Ceci est utile même si vous avez des nombres de parameters et de valeurs dans l'URL.

 NSURL *url = [NSURL URLWithSsortingng:@"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]]; }