IOS-toepassingen inspecteren met Reveal

1. Wat is Reveal?

Als je ooit hebt gewerkt met de Chrome-ontwikkelaarstools Safari Web Inspector, dan hoef ik je niet te overtuigen van hun kracht en bruikbaarheid. Met moderne tools zoals de Chrome Developer Tools kun je de DOM van een webpagina verkennen en manipuleren terwijl je ermee communiceert.

De mensen bij Itty Bitty Apps hebben dat idee overgenomen en naar iOS gebracht. Het resultaat is Reveal en het is indrukwekkend.

Reveal laat u de revisiehiërarchie van een iOS-applicatie tijdens runtime inspecteren en manipuleren. Hiermee kunnen ontwikkelaars tijdens runtime wijzigingen aanbrengen die naar het apparaat of de iOS-simulator worden gepusht.

Het enige wat u hoeft te doen is Reveal installeren op uw ontwikkelmachine, de Reveal-bibliotheek opnemen in uw iOS-applicatie en ervoor zorgen dat uw Mac- en iOS-applicatie zich op hetzelfde netwerk bevinden. Het is zo simpel.

2. Aan de slag

1. Installeer Reveal

Reveal is niet gratis, maar het heeft een proefperiode van 30 dagen. Bezoek de website van Reveal, download een kopie en installeer deze op je Mac.

2. Neem Reveal-bibliotheek op

Voordat u met Reveal kunt beginnen, moet u de Reveal-bibliotheek opnemen in uw Xcode-project.

Met CocoaPods

CocoaPods maakt deze stap heel gemakkelijk. Open de Podfile van uw project, voeg toe pod 'Reveal-iOS-SDK', en loop pod update vanaf de opdrachtregel.

zonder CocoaPods

De eerste stap is om uw project te koppelen aan de Reveal-bibliotheek. Je kunt de locatie van de Reveal-bibliotheek vinden door de Reveal-applicatie op je Mac te starten en te selecteren Show Reveal Library in Finder van de Helpen menu. U moet ook het -ObjC vlag naar Andere Linker-vlaggen in je doelwitten Bouw instellingen.

Als u nog steeds Xcode 4 gebruikt, zorg er dan voor dat u uw project koppelt aan de CFNetwork en QuartzCore kaders. Deze stap is niet nodig als u Xcode 5 gebruikt.

3. Build and Run

Bouw uw project en voer uw iOS-applicatie uit in de iOS Simulator of op een fysiek apparaat. Als u uw iOS-applicatie op een fysiek apparaat gebruikt, zorg er dan voor dat het apparaat zich in hetzelfde netwerk bevindt als de Mac Reveal wordt uitgevoerd.

3. Inspectie van hiërarchie

Gebruikersomgeving

De gebruikersinterface van Reveal bestaat uit drie delen:

  • Aan de linkerkant ziet u de weergavehiërarchie van de huidige status van uw toepassing. Helemaal bovenin zou je het moeten zien UIScreen voorwerp.
  • In het midden zie je de gebruikersinterface van je applicatie met bovenaan twee knoppen, zoomen en perspectief. Met de tweede bediening kunt u schakelen tussen een 2D- en een 3D-visualisatie. De 3D-visualisatie is ongelooflijk handig als u probeert die ene weergave te vinden die er wel zou moeten zijn, maar dat niet is.
  • Het rechterdeelvenster lijkt veel op het deelvenster dat u in Xcode vindt. Het bevat een aantal inspecteurs die informatie weergeven over wat u momenteel hebt geselecteerd in de weergavehiërarchie aan de linkerkant of in het midden.

Weergaven isoleren

Het bekijken van de weergavehiërarchie van uw toepassing kan een beetje overweldigend zijn, vooral als u werkt met een verzameling of een tabelweergave. U kunt delen van de weergavehiërarchie samenvouwen en u kunt ook inzoomen op de gebruikersinterface van uw toepassing in de middelste weergave.

Soms wilt u zich alleen concentreren op een verzameling weergaven, een tabelweergavecel bijvoorbeeld. U kunt een groep subweergaven isoleren door te dubbelklikken op een weergave in de weergavehiërarchie links of in het midden. U kunt ook door uw weergavehiërarchie navigeren met behulp van de springbalk boven aan het venster.

U kunt de weergavehiërarchie van uw toepassing opnieuw laden door op de knop rechtsboven in het venster te klikken.

4. Weergavehiërarchie manipuleren

Het onderzoeken van de weergavehiërarchie van uw toepassing vanuit meerdere invalshoeken is geweldig, maar daar stopt het niet. Een van de krachtigste functies van Reveal is de mogelijkheid om weergaven in de weergavehiërarchie te manipuleren.

Selecteer een weergave in de weergavehiërarchie en bewerk de eigenschappen ervan in het rechterdeelvenster. Reveal werkt niet alleen bij wat je ziet in Reveal, het drukt ook de wijzigingen naar je apparaat of de iOS-simulator. Dit werkt met elke weergave in de weergavehiërarchie.

5. Een woord van waarschuwing

Voordat u gaat experimenteren met Reveal, is het belangrijk om te weten dat Reveal niet moet worden opgenomen in release-builds. Dit staat duidelijk vermeld op de website van Reveal. Als u vergeet om Reveal te verwijderen van release-builds, wordt uw aanvraag afgewezen, dat is een garantie.

Het is echter vrij eenvoudig om dit te voorkomen door twee doelen te maken, een ontwikkelingsdoel dat de Reveal-bibliotheek bevat en een doel voor release-builds dat dat niet doet. Dit is een makkie als je CocoaPods gebruikt. Bekijk de volgende Podfile om te zien hoe dit werkt.

platform: ios, '7.0' pod 'AFNetworking', '~> 2.2' pod 'CocoaLumberjack', '~> 1.8' target: Development do pod 'Reveal-iOS-SDK', '~> 1.0' end

6. Inspecteren van applicaties van derden

Ik jailbreak meestal mijn iOS-apparaten niet uit, maar Peter Steinberger overtuigde me met zijn post over het inspecteren van applicaties van derden. Lees zijn bericht als je nieuwsgierig bent om te zien hoe je mede-ontwikkelaars - of Apple-build iOS-applicaties. Vergeet niet dat jailbreaking van een iOS-apparaat permanente schade aan het apparaat kan veroorzaken. Jailbreaking van een iOS-apparaat is niet zonder risico.

Conclusie

Reveal heeft de manier veranderd waarop ik problemen met gebruikersinterfaces debug. Hoe meer ik het gebruik, hoe meer ik erop vertrouw. Reveal is niet gratis, maar het is zijn geld meer dan waard. Profiteer van de proefperiode van 30 dagen en begin met het verkennen van uw iOS-applicaties met behulp van deze krachtige tool.