2010-07-10 2 views
2

Il existe des applications de navigateur Web dans le magasin qui font beaucoup de choses qui me semblent utiliser des appels d'API privés. Des choses telles que:Comment certaines applications du navigateur AppStore implémentent-elles des fonctionnalités telles que le menu "Ouvrir dans un nouvel onglet", la progression du chargement, etc.?

  • Remplacer le menu contextuel d'un lien pour ajouter un élément de menu pour « Ouvrir dans un nouvel onglet » (How to add an option to the popup actionsheet of iphone safari?)
  • progression du chargement de rapports.
  • Attraper nouvelles fenêtres « pop-up » (où la cible du lien est pas « _self ») et l'ouverture dans un nouvel onglet (nécessite le sous-classement UIWebView et prépondérants méthodes privées.)

Est-ce que quelqu'un a une idée si cela est fait d'une manière intelligente que je ne sais pas, ou ont-ils juste réussi à se faufiler dans les anciens réviseurs d'applications? Cela me surprendrait, car ils ont tout le scanner automatisé api-utilisation, à moins qu'il ne scanne que les appels API plus importants ...

Pas de véritable raison pour laquelle je demande autre chose que des universitaires. Était juste en train de jouer avec UIWebView et remarqué la fonctionnalité est très limitée par rapport à ce que certaines personnes ont réussi à faire avec elle ...

Des idées? J'adorerais avoir un aperçu!

Vive

Répondre

0

Le premier peut probablement être atteint avec Javascript - qui est juste une supposition de ma part; vous utilisez JS pour communiquer avec le code Obj-C pour afficher une feuille UIActionSheet personnalisée.

Le second est sans doute possible que si vous regardez assez profond:

UIWebView a un objet NSURLRequest. NSURLRequest a valueForHTTPHeaderField:, ce qui vous permet d'obtenir la taille totale du contenu de la requête. NSURLRequest a également HTTPBodyStream, qui est un NSInputStream, ce qui devrait vous donner le nombre total d'octets lus. Enfin, pour attraper les fenêtres "popup", je suppose qu'elles utilisent les rappels de délégué de UIWebView pour accomplir cela, avec un peu de fu-string intelligent pour déterminer si c'est une fenêtre pop-up ou non (évaluation de Javascript et autres).).

Questions connexes