2010-06-25 8 views
6

Ich frage mich, ob es eine Diff-API in Cocoa gibt, habe ich versucht, es zu googlen, aber es bringt keine Ergebnisse zurück, die nützlich sind.Cocoa API - Enthält es eine Diff API?

Wenn es keine API dafür gibt, wäre es besser, diff aus/usr/bin/aufzurufen oder ein eigenes diff zu schreiben.

Alles, was ich brauche, sind Textdateien mit der Möglichkeit, später in Binärdateien und Ordner zu verzweigen.

Dank

James

+0

Ich würde immer noch gerne die Antwort auf diese Frage sehen, wie ich versuche, diese Funktion in Cocoa Touch und AFAIK verwenden gibt es keine Möglichkeit zum Zugriff auf Shell-Befehle in App Store Apps ... irgendwelche Gedanken? – BadPirate

Antwort

2

würden Sie normalerweise verwenden nur diff selbst. Alle Befehlszeilenwerkzeuge sind über NSTask und NSPipe zugänglich. Es ist trivial, eine Wrapper-Klasse zu schreiben, die alles für Sie verwaltet.

+0

Ich dachte, dies könnte die Antwort sein, ich hoffte nur, dass es eine nette API dafür geben würde! –

+4

"Es ist trivial, eine Wrapper-Klasse zu schreiben, die alles für Sie verwaltet." [Zitat benötigt] ;-) –

+0

Sie können NSTask nicht mit iOS-Apps verwenden. – AbuZubair

5

Da diese Frage beantwortet wurde, scheint es, dass etwas herausgekommen ist: Diff Match and Patch libraries

ich es nicht versucht habe (noch) nicht, aber es ist das, was oben kam, als ich für eine diff-Bibliothek suchen. Es gibt einen Obj-C-Port.

+1

Der Obj-C-Port befindet sich hier: https://github.com/JanX2/google-diff-match-patch-Objective-C –

+1

Dies ist ein Fork des Obj-C-Ports von inquisitiveSoft, der für die Verwendung von ARC umgestaltet wurde . Es sieht wesentlich besser aus als die> 2 Jahre alte Version: https://github.com/inquisitiveSoft/DiffMatchPatch-ObjC – auco

0

Wir haben vor kurzem ein altes Projekt überarbeitet, das einen Patch auf Ihrem iOS-Gerät anwendet. Wir haben es verwendet, um Diff-Dateien von einem PC zu erstellen, den iOS-Client den Patch herunterladen und anwenden. Es heißt PatchPatch und es kann hier

https://bitbucket.org/Jkok/patchpatch

Probieren Sie es aus und lassen Sie mich zu finden, ob es für Sie arbeitet.