Sie können den Code prüfen.
- Stellen Sie zunächst sicher, dass das Projekt ohne Warnungen kompiliert wird. Das bedeutet, dass alle Methoden, die sie verwenden, in ihren Headern deklariert werden müssen.
- Schauen Sie sich dann alle im Code deklarierten Kategorien an (Sie können dies selbst tun oder ein entsprechendes Tool finden).
- Vergewissern Sie sich, dass für alle Kategorien, die in den von allen Apple-Frameworks bereitgestellten Klassen deklariert sind, konkrete Implementierungen der deklarierten Methoden in Ihrem Code vorhanden sind. Wenn es irgendwelche Kategorien in von Apple bereitgestellten Klassen gibt, die keine konkreten Implementierungen haben, die vom Framework bereitgestellt werden, dann wird die Kategorie deklariert, um Kompilierwarnungen beim Zugriff auf private Methoden zu vermeiden.
- Suchen Sie nach Aufrufen von NSClassFromString, und stellen Sie sicher, dass alle Verwendungen für öffentliche Klassen sind
Es gibt noch einige andere Möglichkeiten, private APIs zu verwenden, aber diese sind nicht so häufig und werden in der Regel von Leuten verursacht, die aktiv versuchen zu verschleiern, was sie tun.
Ein bisschen mehr auf den Punkt gebracht:
Ich habe geprüft YAJL-objc und ich bin sicher, dass Jon nichts Schlechtes tut, wenn er TouchJSON weil er ein verdammt guter iPhone-Entwickler ist. Darüber hinaus kann ich nicht sehen, warum jede JSON-Bibliothek wäre, gibt es fast nichts, was sie in den privaten APIs versteckt verwenden können. Es neigt dazu, häufiger private APIs zu verwenden, um visuelle Effekte zu erreichen sind Schnittstelle mit HW-Funktionalität, die nicht ausgesetzt ist, Parsen ist wirklich nur rechnerisch.