我已經移植了iPhone的庫(冰,NAT穿越),並遇到問題,而實際上在iPhone設備上測試它(版本4.3)。開發了與我的圖書館聯繫的可可觸摸包裝。庫例程從我的應用程序中放置的「測試」按鈕被調用。巨大的大小庫不加載在iphone
應用程序是.mm和庫是基於C++的。
下面是在我的應用程序失敗的情況下/經過
案例一:我「構建和調試」 /「構建並運行」從Xcode應用程序的iPhone。該應用程序在iphone上運行良好,我可以在我的Mac機上的控制檯上看到相同的日誌。案例二:我嘗試從我的iphone上運行應用程序,但它只是在打開時崩潰。案例三:我從Xcode構建和調試應用程序,啓動應用程序get。但只要我拔掉調試電纜(從我的Mac連接到iphone),應用程序就會崩潰。
應用程序的大小是16 MB,庫的大小是288 MB。
我試圖通過一個簡單的測試應用程序和一個測試庫來模擬相同的問題。它在所有情況下運行良好,沒有問題。可能是什麼問題?
看來,應用程序是映射從蘋果機上運行的Mac機庫代碼。一旦物理鏈接被破壞,應用程序崩潰。
庫的大小是巨大的?
在此先感謝
爲了增加,我運行了otools -L來確認依賴關係,所有的二進制文件都是針對arm6和arm7架構的。 – RDX 2011-05-02 08:53:18
你有堆棧跟蹤嗎? 288MB的編譯代碼非常多。我敢打賭,這與記憶有關。你有沒有嘗試過把小塊碎片拆下來,只加載你實際使用的部分? – 2011-05-02 12:25:52
1.通過mac os x將調試電纜連接到iphone時,該應用程序可以在iPhone上正常工作。當我分離電纜時,該應用程序無法工作。所以我當時看不到堆棧跟蹤。 – RDX 2011-05-02 12:46:53