回覆列表
  • 1 # lanfengz1

    靜態庫:.a和.framework

    動態庫:.dylib和.framework

    靜態庫:連結時,靜態庫會被完整地複製到可執行檔案中,被多次使用舊有多份冗餘複製

    動態庫:連結時,不復制,程式執行時系統動態載入到記憶體,供程式呼叫,系統只加載一次,多個程式共用

    需要注意的是:專案中如果使用了自制的動態庫,不能被上傳到appstore

    模擬器的架構是x86_64,真機的架構是arm64,arm7,arm7s

    終端指令真機和模擬器合併.a

    cd /Users/lili/Library/Developer/Xcode/DerivedData/StaticDemo-gqjycc../Build/Products/libdev

    模擬器的lib資料夾所在目錄

    可以藉助lipo -info 靜態庫檔案地址支援哪些平臺

    lipo -info staticDemo.a

    is architecture:x86_64(7),i386(5)模擬器;

    真機的是are armv7 arm64(5s) armv7s(iphone5c)

    合併真機和模擬器靜態庫合併為一個靜態庫

    lipo -create libdev/staticDemo.a libPro/staticDemo.a -output HMTool.a

    lipo -create 需要合併的靜態庫1 需要合併的靜態庫2 -output 合併之後的資料夾名稱

    注意:雖然將真機和模擬器的靜態庫合併在一起之後,以後我們就不用關心當前是執行在模擬器還是真機了,但是如果在程式釋出時還是建議大家使用真機的靜態庫

  • 中秋節和大豐收的關聯?
  • 地暖適合做榻榻米嗎,會影響採暖嗎?