2016-04-05 21 views
0

Kendimi kaynak koddan oluşturduğum çerçeve kodunu kullanarak iOS uygulamasını geliştirmeye başladım.Mimaride x86_64 için tanımlanmamış semboller ama hata kaynakları dahili çerçevenin içinde yer alıyor

Gerekli mimarileri çerçeve projesine ve uygulamamıza ekleyen yapı iskelesine ekledim.
Ve uygulama oluşturmak çalıştığımızda Undefined symbols for architecture x86_64 hataları ortaya çıkmıştır, mesela:

 
"_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) 
    ... 

Ve diğerleri, sadece ben çerçeve kaynağını baktım MTEncryption

de, dosya 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 
} 

Bu yöntemler, zaten oluşturma aşamalarına dahil edilmiş olan .../openssl/aes.h numaralı dizindir.

Ancak, aes.m dosyasının eksik olduğunu fark ettim (yalnızca yapı aşamasında eksik değil, dosya mevcut değil).
Normal mi? Ya da tam olarak .m dosyaları eksik neden başarısız inşa? Ama nedense, çerçeve nasıl başarılı bir şekilde inşa edildi?

cevap

1

Simülatör dosyalarının etrafından dolaşmaktan, "parça ve parsel" gelen aes veya openssl'lerin kesin yinelemesini göremiyorum.

Bu notta, bu eksik kitaplıkları desteklemek için kendi OpenSSL'nizi derlemeniz gerekir.

yardımım olabilir sizin için github repo buldunuz: Ben başka bir kaynaktan bu çerçevenin farklı versiyonu var bu yardımcı olur

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

Umut ..

+0

ve sorunum oldu çözüldü. Ama teşekkür ederim, muhtemelen yararlı tavsiyeler için cevabınızı oyladım! –

İlgili konular