2016-04-05 7 views
0

Ich beginne mit der Entwicklung der iOS-App mit dem Framework-Code, den ich selbst aus dem Quellcode erstellt habe.Nicht definierte Symbole für die Architektur x86_64, aber die Fehlerressourcen sind im eingebauten Framework

Ich habe Architekturen zu Framework-Projekt hinzugefügt und Framework erstellt, die es zu meiner Anwendung hinzufügen.
Und wenn ich Anwendung zu bauen versucht, wurde Undefined symbols for architecture x86_64 Fehler erschienen, zum Beispiel:

 
"_AES_ige_encrypt", referenced from: 
    _MTAesEncryptInplace in MTProtoKit iOS (MTEncryption.o) 
    _MTAesEncryptInplaceAndModifyIv in MTProtoKit iOS (MTEncryption.o) 
    ... 
"_AES_set_encrypt_key", referenced from: 
    _MTAesEncryptInplace in MTProtoKit iOS (MTEncryption.o) 
    _MTAesEncryptInplaceAndModifyIv in MTProtoKit iOS (MTEncryption.o) 
    ... 

Und viele andere, nicht nur bei MTEncryption

I Rahmen Quelle sah, Datei MTEncryption.m:

void MTAesEncryptInplace(NSMutableData *data, NSData *key, NSData *iv) 
{ 
    AES_KEY aesKey; 
    AES_set_encrypt_key(key.bytes, 256, &aesKey); // <-- _AES_set_encrypt_key 
    unsigned char aesIv[AES_BLOCK_SIZE * 2]; 
    memcpy(aesIv, iv.bytes, iv.length); 

    AES_ige_encrypt(data.bytes, (void *)data.bytes, data.length, &aesKey, aesIv, true); // <-- _AES_ige_encrypt 
} 

Diese Methoden sind in .../openssl/aes.h, die bereits in Buildphasen enthalten ist.

Aber ich habe festgestellt, dass aes.m Datei fehlt (nicht nur in Build-Phasen fehlt, aber Datei existiert nicht).
Ist das normal? Oder genau .m Dateien fehlen ist Build fehlgeschlagen Grund? Aber wenn es der Grund ist, wie Framework erfolgreich aufgebaut wurde?

Antwort

1

Von Scouting um die Simulator-Dateien kann ich nicht eine endgültige Iteration von AES oder OpenSSL sehen, die "Teil und Paket" kommen.

In diesem Sinne müssten Sie Ihre eigenen OpenSSL kompilieren, um diese fehlenden Bibliotheken zu unterstützen.

Ich habe ein GitHub Repo für Sie finden, die hilfreich sein könnten:

https://github.com/x2on/OpenSSL-for-iPhone

this helps ..

+0

ich andere Version dieses Rahmens aus einer anderen Quelle erhalten, und mein Problem war gelöst. Aber danke, ich habe deine Antwort für möglicherweise nützliche Ratschläge gewählt! –