PLInstrument in iPhone-Projekte einbinden
Als Ergänzung zu den heutigen Linktips erklärt dieser Artikel kurz die Einbindung von PLInstrument in ein bestehendes iPhone-Projekt:
- PLInstrument aus dem Subversion-Repository auschecken:
svn checkout http://plinstrument.googlecode.com/svn/trunk/ plinstrument
- Datei
PLInstrument.xcodeprojmit Xcode öffnen. - Unter Overview das Target PLInstrument-iPhoneOS auswählen, außerdem die Konfiguration auf Release setzen.
- Mit Cmd-B kompilieren.
- Unter Overview das Target PLInstrument-iPhoneSimulator auswählen.
- Mit Cmd-B kompilieren.
- Im Terminal in das Verzeichnis von PLInstrument wechseln und dort folgenden Befehl ausführen, um eine gemeinsame Bibliothek für iPhone und iPhone Simulator zu erstellen:
lipo build/Release-iphonesimulator/libPLInstrument-iphonesimulator.a build/Release-iphoneos/libPLInstrument-iphoneos.a -create -output libPLInstrument-iphoneos.a
- Die erstellte Datei
libPLInstrument-iphoneos.ain das eigene iPhone-Projekt einbinden, außerdem alle .h-Dateien aus dem Ordnerplinstrument/Sourceeinbinden. - Mit Cmd-B kompilieren, es sollte dabei keine Fehlermeldung auftreten.
Anschließend kann PLInstrument innerhalb des eigenen Codes benutzt werden, z.B. um die Zeit für einen Datenbank-Request zu ermitteln:
#import "PLInstrument.h"
// ...
PLIAbsoluteTime start = PLICurrentTime();
NSUInteger iterations = 0;
NSObject<PLResultSet> *results;
results = [database executeQuery:@"SELECT * FROM test;"];
while ([results next]) {
iterations++;
// Do something with the results
}
[results close];
PLIAbsoluteTime finish = PLICurrentTime();
PLInstrumentResult *result = [PLInstrumentResult resultWithStartTime:start endTime:finish iterations:iterations];
NSLog(@"Select took %dns per iteration.", [result intervalPerIteration]);Bei Ausführung der App wird die mittlere Zeit pro Iteration in Nanosekunden auf der Konsole ausgegeben:
2009-03-08 18:55:06.734 Playground[2736:a203] Select took 2089470ns per iteration.
Es ist zu beachten, dass die API und Dokumentation von PLInstrument laut des Entwicklers derzeit nicht vollständig ist und entsprechend Änderungen unterliegen kann.
Schlüsselwörter: iphone, programmierung
Schlüsselwörter
- berlin (2)
- blog (5)
- browser (2)
- cocoaheads (5)
- dropbox (1)
- git (7)
- idisk (1)
- iphone (28)
- javascript (2)
- kurztip (4)
- linktips (17)
- mac (9)
- macruby (1)
- objective-c (8)
- ortung (1)
- programmierung (22)
- rails (1)
- railsconf (7)
- ruby (6)
- ruby on rails (7)
- schnipsel (14)
- server (2)
- spiele (1)
- statistiken (3)
- stuttgart (3)
- testen (4)
- tidy (1)
- versionskontrolle (5)
- wwdc (1)
- xcode (9)
- xml (1)
Kommentare