是否有可能在靜態庫中包含第三方庫? 例如:可AFNetworking可以包含在靜態庫在靜態庫中包含第三方庫(示例:AFNetworking)
2
A
回答
3
直接回答您的問題是,你絕對可以包括任何第三方庫,如果他們公開公共API(一組標題,供你參考的)。對於AFNetworking,他們通過提供一個Cocoapods腳本使其非常簡單,以便您的項目可以引用它。
但是請注意,當你釋放你的靜態庫包含AFNetwork時,如果你的靜態lib用戶決定在他自己的代碼中使用AFNetwork,Obj-C編譯器會抱怨重複的符號,他將無法用你的靜態庫構建他的項目。
我的建議
我的建議是:只是指由@Amar上面共享的鏈接。如果您希望將其與其他開發人員或社區共享,則不要在您的靜態庫中包含任何第三方庫。總是考慮使用其他第三方靜態庫的引用,而不是包含它們,例如使用Cocoapods。
+0
謝謝......我一直在努力弄清楚一個星期的靜態庫,這是我最後的障礙。它們在很大程度上沒有用處,而且實施起來也很荒謬。什麼是蘋果的思想? – GoldenJoe
0
只是爲了完整性,因爲我覺得以前的答案/意見提供了很好的意見,這是一個自定義腳本,包括第三方的lib到構建
set -e
set +u
TGT_FULLPATH="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}"
TMP_FULLPATH="${BUILT_PRODUCTS_DIR}/original_${EXECUTABLE_NAME}"
THIRPARTY_FULLPATH=...
ARCHSPECIFIC_THIRDPARTY="${BUILT_PRODUCTS_DIR}/thinThirdparty"
# What's the architecture for the lib we just built?
LIPO_ARCH=$(lipo -info ${TGT_FULLPATH} | awk 'END{ print $NF }')
# Create a thirdparty lib only for the current architecture
lipo -thin ${LIPO_ARCH} ${THIRPARTY_FULLPATH} -output ${ARCHSPECIFIC_THIRDPARTY}
# Join the two libaries
mv ${TGT_FULLPATH} ${TMP_FULLPATH}
libtool -static -o ${TGT_FULLPATH} ${TMP_FULLPATH} ${ARCHSPECIFIC_THIRDPARTY} 2>&1 >/dev/null
# Remove the temp artifacts
rm ${TMP_FULLPATH}
rm ${ARCHSPECIFIC_THIRDPARTY}
相關問題
- 1. 如何在Android.mk中包含靜態第三方庫?
- 2. 在webpack中包含第三方庫
- 3. 鏈接第三方靜態庫到另一個靜態庫
- 4. 導入靜態第三方庫
- 5. 靜態庫與第三方框架
- 6. 爲第三方靜態庫創建podspec
- 7. Xcode 4 - 包含第三方靜態庫時找不到頭文件
- 8. 靜態庫不包含宏
- 9. 在靜態庫中包含STL
- 10. 在Xcode中包含多個靜態庫
- 11. 將第三方靜態庫與cmake組合成一個獨立靜態庫?
- 12. 如何使用Android構建靜態庫鏈接到第三方靜態庫ndk
- 13. 使用第三方庫的C++靜態庫
- 14. 在CMake中導入靜態第三方(SDL2)庫
- 15. 如何在AngularJS部分模板中包含第三方JavaScript庫?
- 16. 如何在Zend Framework中包含第三方庫2
- 17. 如何在React應用程序中包含第三方js庫
- 18. 如何在Java軟件中包含第三方庫/軟件?
- 19. 在Eclipse CDT中使用Visual Studio Toolchain包含第三方庫
- 20. Hadoop:如何在Python中包含第三方庫MapReduce
- 21. 在R項目中包含第三方庫
- 22. 在源代碼樹中包含第三方庫
- 23. 如何在cordova插件中包含第三方javascript nodejs庫?
- 24. 第三方庫如何包含在本地node.js模塊中?
- 25. 如何在Meteor.js中包含第三方JavaScript庫?
- 26. 關於在框架中包含第三方庫的規則
- 27. 如何在Utilty Project中包含第三方庫?
- 28. 如何在CodeIgniter中包含第三方庫?
- 29. 在Android中包含預建的靜態庫到共享庫中
- 30. 需要幫助鏈接AOSP中的第三方靜態庫
的輸出LIB [閱讀]( http://stackoverflow.com/a/11765890/1407017)。可能不是你的問題的確切答案,但絕對是好建議。 – Amar