我正在爲iPhone OS 3.1.3開發,我需要使用Dropbox API。如何在程序啓動時取消鏈接框架
問題是Dropbox API至少需要iOS 4.2。好。
我決定拯救3.1.3使用程序的可能性,但如果是4.2以上,就會有Dropbox的功能。
要使用Dropbox的框架,我需要鏈接另一框架:
- Security.framework
- QuartzCore.framework
我已經做到了這一點。
當我鏈接Dropbox.framework到我的項目,該項目工程iPhone模擬器很大,但它不能在我的iPhone 3.1.3開始。有一個在輸出錯誤:
使dyld:找不到符號:_kSecAttrAccessible 從參考:在/ var /移動/應用/ C1FC10E5-0A36-4DEB-BD27-5028C205C89D /總線Time.app/Bus時間 在/ var /移動/應用/ C1FC10E5-0A36-4DEB-BD27-5028C205C89D /總線Time.app/Bus時間
所以/System/Library/Frameworks/Security.framework/Security :預計問題是:
我可以嗎在程序啓動時檢測iOS版本並取消鏈接框架? 或者你可以提供另一種方式使用Dropbox的3.1.3?
謝謝你的回答。我很感激。
你爲什麼瞄準3.x?仍然運行3.x的iOS設備的數量非常小。大約一年前,3.x僅在iOS設備的約11%上運行。那是5.x之前,而6.x就在眼前。 – CrimsonDiego
謝謝你的回答!因爲我正在使用iPhone第一代。這一款擁有令人難以置信的設計,它已經爲我工作了4年多。我知道是時候購買新的4S了,但現在不是。我需要先開發一些東西。 –
您無法以編程方式在運行時取消鏈接。你必須以相反的方式做到這一點,如果可能的話,以編程方式將其鏈接 - 這也意味着以編程方式訪問類和選擇器和/或C符號。通常,您可以使用弱框架鏈接來使運行時爲您做所有困難的事情,因此您必須手動執行的唯一部分是在使用它們之前爲空的複選符號。正確的答案取決於你是否想要指向弱鏈接的指針,所以你可以這樣嘗試,或者你知道這是行不通的,並想知道如何動態加載。 – abarnert