2016-05-13 7 views
1

Lassen Sie mich beginnen zu sagen, dass ich neu in iOS/Xcode-Programmierung bin, so weiß ich nicht einmal, was genau zu fragen. Ich versuche, eine statische Bibliothek zu einer App hinzuzufügen, und ich stürze mit einem Absturz. Das Bibliothekspaket enthält eine .h-Datei und eine .a-Datei. Ich bitte um einige Vorschläge, wie Sie vorgehen müssen, um das Problem zu lösen. Hier einige Fakten:NSMutableData Fehler

  • Xcode 7.3 - El Kapitän OS
  • die Bibliothek arbeitet. Ich habe eine Demo-App, die ohne Absturz arbeitet mit der gleichen Bibliothek, die ich versuche zu verwenden
  • Ich habe keine signifikanten Unterschiede beim Vergleich der Demo-App zu meiner gefunden. Mine ist von Grund auf neu erstellt (Single View - Storyboard), die Demo-App verwendet Xib-Dateien und ich weiß nicht, wie es entwickelt wurde. Einige Datei identisch sind (das heißt direkt von der Demo-Anwendung kopiert)

  • der Absturz offenbar in der Bibliothek geschieht, in einer der internen Anrufe

  • der Absturz der NSMutableData Klasse beinhalten. Dies ist Fehler:

    + [NSMutableData dataFromHexString:]: Unbekannter Selektor zur Klasse gesendet 0x1a085fdb0

    *** App beenden aufgrund nicht abgefangene Ausnahme 'NSInvalidArgumentException', Grund: ‚+ [NSMutableData dataFromHexString:]: Unbekannter Selektor Klasse 0x1a085fdb0' gesendet

    • im Code der Apps (beide von ihnen derjenige, und der man arbeitet, die nicht funktioniert) gibt es keine direkte Überweisung an die Klasse NSMutableData. Die nächste in der App definierte Klasse ist das NSMutableArray und für das, was ich sehen kann, wird es in beiden Apps auf dieselbe Weise definiert und verwendet.

Diese warum ich nicht weiß, wie es weitergeht. Es muss etwas in der App sein, das verhindert, dass die Bibliothek funktioniert, weil es mit dem ursprünglichen Democode arbeitet, aber ich habe keine Ahnung, was es sein kann. Ich habe versucht, einige Haltepunkte zu setzen, um das Problem zu lokalisieren, aber die Bibliothek wird ohne Debug-Informationen kompiliert, so dass nur Assembler-Code in der Bibliothek vom Debugger angezeigt wird. Ich suche nach einem Hinweis, wie es weitergehen soll.

Vielen Dank für jede Hilfe Steve

+1

Es gibt keine Methode wie 'dataFromHexString:' für 'NSMutableData'. Vielleicht hat es eine Bibliothek als Kategoriemethode hinzugefügt. – rmaddy

+0

Richtig, ich habe festgestellt, dass diese Methode nicht vorhanden ist, aber in der Arbeitsanwendung habe ich keine Methode gefunden, die zu dieser Klasse hinzugefügt wurde. In meiner App schließe ich genau die gleichen Dateien der funktionierenden App ein. Ist es möglich, dass einige App-Konfiguration (info.plist oder andere) den Trick machen können? – thefwguy

Antwort

0

das Problem gefunden. Ich jagte Geister, der Konfiguration fehlten zwei Kompilierflags. Die Methode dataFromHexString ist in der statischen Bibliothek deklariert, und dazu gibt es natürlich keine Dokumentation. Ich musste zwei Flags hinzufügen, um den Code zu kompilieren: -ObjC und -all_load Mein Raten (ich weiß noch nicht sehr gut die Umgebung) ist, dass mit diesen Flag der Code in der Lage ist, die neue Methode zu erkennen.