我想在我的應用程序中使用libwebsockets(http://libwebsockets.org/trac/libwebsockets)庫支持websockets。我需要它是安全的,所以我正在嘗試使用我使用https://github.com/x2on/OpenSSL-for-iPhone/blob/master/build-libssl.sh腳本構建的openssl庫來構建它。 CMake創建libwebsockets項目,我稍作修改以使用靜態openssl庫。然後我將這個項目添加到我的工作區並構建我的應用程序。應用程序的構建沒有問題。當我啓動它並嘗試建立websocket連接時,我嘗試使用SSL_CTX_new()創建新的上下文時,在SHA1_Final函數中崩潰。libwebsockets lib與SSL openssl for iOS中崩潰崩潰SSL_CTX_new()
* thread #1: tid = 0x2503, 0x000fa47e MyApp`SHA1_Final + 22, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x22986341)
frame #0: 0x000fa47e MyApp`SHA1_Final + 22
frame #1: 0x00130a90 MyApp`EVP_DigestFinal_ex + 56
frame #2: 0x0012e45c MyApp`ssleay_rand_add + 492
frame #3: 0x0012f056 MyApp`RAND_poll + 614
frame #4: 0x0012e726 MyApp`ssleay_rand_bytes + 166
frame #5: 0x000ef49c MyApp`SSL_CTX_new + 464
frame #6: 0x00153218 MyApp`libwebsocket_create_context(info=0x2fda90bc) + 1364 at libwebsockets.c:1975
我也有NSS庫(https://developer.mozilla.org/en-US/docs/NSS)和一堆這是需要在我的項目其他圖書館其他安全相關的文件。
我試圖創建一個視圖,只有libwebsockets和openssl庫,並在該項目openssl不會崩潰的簡單測試項目。
我猜我的問題是與相同項目中存在的nss和openssl庫相關,或者與openssl和其他項目可能的不同編譯設置有關。 (是的,我檢查過,libwebsockets lib調用SSL_library_init())。
我非常感謝爲什麼會發生這種情況以及如何解決它的任何想法。
你可以讓我知道你「如何修改使用靜態openssl庫」? libwebsockets w/ssl在從xcode運行時工作正常,但是當通過TestFlight distrod(並且我假設appstore)時,我得到了崩潰。我認爲它試圖使用動態庫。謝謝! – braden
嗨,我想編譯iOS的libwebsocket庫,但我面臨的問題「CMake Error toolchain/iOS.cmake:101(message): 沒有iOS SDK的默認搜索路徑 /Developer/Platforms/iPhoneSimulator。 platform/Developer。手動設置 CMAKE_IOS_SDK_ROOT或安裝iOS SDK。「請給我一些提示你是如何編譯libwebsocket庫的iOS – Mahesh
@Mahesh好吧,CMAKE已經給你提示了。您要麼沒有iOS SDK,要麼在路徑上遇到麻煩。 – user1264176