Nicht erkannte Methode zur Auswahl der aufrufenden Kategorie in der statischen iOS-Bibliothek

Ich verwende Software von Drittanbietern, um eine iPad-Anwendung mit Xcode 4.3.2 zu erstellen. Die Software ist Open Source und wird normalerweise so eingerichtet, dass ihr Code zusammen mit dem Code kompiliert wird, den der Entwickler für die Anwendung schreibt. Da ich die Software an zahlreichen Stellen verwendet habe, habe ich beschlossen, sie als statische Bibliothek für den iOS-Simulator zu erstellen.

Ich konnte die Bibliothek erstellen und eine Anwendung konvertieren, um eine Verknüpfung zu dieser Bibliothek herzustellen, anstatt den ursprünglichen Quellcode zu kompilieren. Wenn ich die Anwendung auf dem Simulator ausführen möchte, erhalte ich jedoch die Fehlermeldung:Unbekannter Selektor an Instanz gesendet.

Ich habe überprüft, dass das Programm Teile der statischen Bibliothek erfolgreich verwendet. Es gibt jedoch einen Codeteil, der versucht, eine Methode für ein Objekt aufzurufen, und den, bei dem der Fehler auftritt. Die aufgerufene Methode ist in der Schnittstelle dieses Objekts nicht definiert. Es wird vielmehr in einem zusätzlichen Modul bereitgestellt, das eine Kategorie für die Klasse dieses Objekts definiert. Die Header-Datei für dieses Modul ist ordnungsgemäß enthalten, und der Compiler sollte die Kategoriemethode finden und auf das Objekt anwenden können. Zur Laufzeit tritt jedoch der oben erwähnte Fehler auf.

Ich habe den Befehl 'nm' verwendet, um zu überprüfen, ob die Kategoriemethode in der statischen Bibliothek vorhanden ist. Hier ist ein Beispiel für die Ausgabe:

<code>nm libStaticLibrary.a | grep categoryMethod
00000130 t -[SomeClass(Category) categoryMethod:]
0000354c s -[SomeClass(Category) categoryMethod:].eh
</code>

Welche Vorstellungen haben die Menschen darüber, wie diese Bibliothek mit der gewünschten Anwendung richtig funktioniert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage