我正在運行一個使用EAAccessoryManager的應用程序,該應用程序只能通過ExternalAccessory框架使用。然而,它編譯並運行時沒有將ExternalAccessory包含在鏈接的框架列表中。它也不會被任何其他目標加載到Xcode中。這怎麼可能?我很迷惑。如何在沒有框架的情況下使用框架類運行代碼?
我很好奇,因爲我有一個加載靜態庫,還引用EAAccessoryManager另一個項目,並在該情況,應用程序將不能編譯,與錯誤Undefined symbols for architecture i386
退出。這是我所期望的。什麼可以解釋差異?
查看靜態鏈接和動態鏈接之間的區別,你會發現你的答案。我敢打賭,一旦它達到試圖使用該功能的部分,就會出現問題。 – borrrden
不,應用程序使用EAAccessoryManager中的類沒有問題,即使ExternalAccessory沒有列在要鏈接的框架中。 – theory
那就是奇怪的行爲。你必須得到比我更瞭解的人的回答。 – borrrden