2016-04-05 14 views
0

私はソースコードから自分自身を構築したフレームワークコードを使用してiOSアプリケーションを開発し始めます。アーキテクチャx86_64の未定義シンボルですが、エラーリソースは構築済みフレームワークの中にあります

フレームワークプロジェクトに必要なアーキテクチャを追加し、フレームワークを構築してアプリケーションに追加しました。
そして、私はアプリケーションを構築しようとしたとき、Undefined symbols for architecture x86_64エラーが登場した、例えば:

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

そして他の多くだけでなく、私はフレームワークのソースを見てMTEncryption

で、ファイル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 
} 

これらのメソッドは、フェーズを構築するために既に組み込まれている.../openssl/aes.hにあります。

しかし、aes.mファイルが見つからない(ビルドフェーズではなくファイルが存在しない)ことに気付きました。
それは正常ですか?または正確に.mファイルが見つからないのはビルドに失敗した理由ですか?しかし、それが理由なら、どのようにフレームワークがうまく構築されたのでしょうか?

答えて

1

シミュレータファイルの周りを偵察することで、「部品とパーセル」となるaesまたはopensslの決定的な反復を見ることができません。

これらの欠落しているライブラリをサポートするには、独自のOpenSSLをコンパイルする必要があります。

私は助けになる可能性があなたのためのgithubのレポを見つけた:

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

・ホープ、このことができます。..

+0

私は別のソースからそのフレームワークの異なるバージョンを持って、そして私の問題でした解決される。しかし、ありがとう、私はおそらく有用なアドバイスのためにあなたの答えを投票した! –

関連する問題