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.
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.
Voordat u met Reveal kunt beginnen, moet u de Reveal-bibliotheek opnemen in uw Xcode-project.
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.
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.
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.
De gebruikersinterface van Reveal bestaat uit drie delen:
UIScreen
voorwerp.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.
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.
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
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.
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.