2011-03-25 2 views
5

Je sais que cela a déjà été demandé mais j'ai regardé toutes les réponses (il n'y en a pas beaucoup) et aucune m'aide.UIWebView ne chargera pas les liens avec le certificat (https: // prefix)

Le problème que je rencontre concerne les certificats avec le service de courrier électronique de mon école. Les liens pour les deux services de messagerie électronique sont ici:

école principale e-mail: https://marauder.millersville.edu/mail/index.pl

Informatique e-mail: https://cs.millersville.edu/cswebmail

portail étudiant de l'Université (bouton Marauder Mail droite ne pas ouvrir lorsque vous cliquez dessus dans mon UIWebView)
http://myville.millersville.edu/

au début, aucun des sites chargerait dans mon UIWebView en utilisant un NSURL standard et NSURLRequest. J'ai regardé sur le Web pour une solution et quelqu'un a suggéré d'utiliser les méthodes de délégué NSURLProtocolClient. Après les implémentant, mon UIWebView chargera maintenant le courrier électronique des écoles SEULEMENT quand j'ai un bouton qui quand cliqué ouvre le lien directement, au lieu d'essayer d'accéder au courrier du site portail (3ème lien ci-dessus), et il ne charge toujours jamais le lien de messagerie informatique. J'ai parcouru les sites d'aide iOS, posté des questions, essayé plusieurs UIWebViews personnalisés open-source, mais je n'ai rien trouvé qui fonctionne. La plupart des réponses que j'ai lues autour du point Web à ASIHTTPRequest.

J'ai essayé ceci mais je ne peux pas l'implémenter correctement, il ne charge pas les liens dans mon UIWebView; voici mon code pour la façon dont je suis le chargement d'un lien:

mURL = [self getURL:viewNumber]; 
ASIHTTPRequest *req = [ASIHTTPRequest requestWithURL:mURL]; 
[req setDelegate:self]; 
[req startSynchronous]; 

//NSURLRequest *req = [NSURLRequest requestWithURL:mURL]; 
//urlConnection=[[NSURLConnection alloc] initWithRequest:req delegate:self]; 
webView.scalesPageToFit = YES; 
//[webView loadRequest:req]; 

code dans les commentaires comment je charge un lien sans ASIHTTPRequest.

Toute aide est appréciée!

En outre, j'ai un autre problème avec mon UIWebView, le lien est ci-dessous. Je n'ai pas eu de réponses donc si vous vous ennuyez s'il vous plaît vérifier: UIWebView doesn't detect text box on website

Répondre

2

Correction de mon problème, je pouvais charger https sans problème avec le code suivant, je ne pensais pas que cela fonctionnerait, mais oui !:

NSURLRequest *req = [NSURLRequest requestWithURL:mURL]; 
urlConnection=[[NSURLConnection alloc] initWithRequest:req delegate:self]; 
webView.scalesPageToFit = YES; 
[webView loadRequest:req]; 
+3

C'est une solution assez mauvais. Vous chargez essentiellement les pages deux fois maintenant. Une fois avec 'ASIHTTPRequest' et une fois avec' UIWebView'. –

+0

Charger deux fois des pages est en fait le seul moyen de charger HTTPS dans les versions ultérieures d'iOS. C'est un gâchis velu. –

0

La vue Web ne charge pas les URL https en raison de la non concordance de certificat. Après avoir écrit cette extension, il travaillerait comme prévu

Swift 2,2

extension NSURLRequest { 
     static func allowsAnyHTTPSCertificateForHost(host: String) -> Bool 
     { 
      return true 
     } 
    } 
Questions connexes