UIWebView ne charge pas la version mobile du site avec loadRequest

J'essaie d'utiliser un UIWebView pour intégrer une version mobile d'un site dans mon application. Cependant, quand je fais ce qui suit:

NSURL *url = [NSURL URLWithSsortingng:webLink]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [self.webView loadRequest:request]; 

la version complète du site est chargée. Ensuite, lorsque je clique sur l'un des liens de cette page, il va traiter la version mobile du site (comme je le voudrais depuis le début).

J'ai essayé de jouer avec l'agent user, sans aucune chance. Je ne pense pas qu'il soit question de l'user-agent pour déterminer s'il faut ou non charger la version mobile de la page, parce que j'ai configuré mon user-agent Firefox sur iPhone et que la version complète est toujours chargée.

Si cela aide, le site que j'essaye de charger est un forum de discussion, utilisant IP Board 3.1.4. J'ai essayé de regarder en ligne pour voir comment il détermine si oui ou non pour afficher les versions mobiles, sans succès.

J'ai trouvé la solution à mon problème aujourd'hui.

J'ai posté mon problème sur le forum de support IP Board, et j'ai reçu une réponse disant que le IP Board vérifie soit "iPhone" dans l'user-agent, soit un cookie "mobileApp". Comme jouer avec l'agent d'user ne fonctionnait pas pour moi, je suis allé avec la dernière approche.

J'ai mis ce code dans ma méthode applicationDidBecomeActive dans mon appdelegate:

 [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary]; [cookieProperties setObject:@"mobileApp" forKey:NSHTTPCookieName]; [cookieProperties setObject:@"1" forKey:NSHTTPCookieValue]; [cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieDomain]; [cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieOriginURL]; [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath]; [cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion]; NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties]; [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; 

PS: J'ai trouvé cette solution de cookie dans une autre question de stackoverflow sur les cookies.

Si le site Web n'a pas une version mobile complète, il n'y a rien que vous puissiez faire. 🙁