1. 程式人生 > >ios編譯庫檔案時出現的問題

ios編譯庫檔案時出現的問題

1. 警告:directory not found for option “xxxxxxxx” 檔案路徑未找到

  • 選擇工程, 編譯的 (targets)
  • 選擇 Build Settings 選單
  • 查詢 Library Search Paths 和 Framework Search Paths, 刪掉編譯報warning的路徑即OK
    詳細步驟圖文參考

2. missing required architecture i386 in file “xxxxxx/.a” 說明你的這個library檔案是為Device (ARM架構)設計的,不支援Simulator (i386架構)

  • armv6
    iPhone
    iPhone2
    iPhone3G
    第一代和第二代iPod Touch
  • armv7
    iPhone4
    iPhone4S
    armv7s
    iPhone5
    iPhone5C
  • arm64
    iPhone5S

現在app store規定提交的應用必須包含arm64.

我遇到的問題

  1. 微信demo下載下來執行出現 missing required architecture i386 in file “xxxxxx/libWeChatSDK.a”問題,用終端查看了一下這個庫檔案只支援 armv7,arm64
在終端裡檢視你的.a庫是不是支援i386
在終端裡檢視你的.a庫是不是支援i386

解決方法:

  • 找找看有沒有支援i386的庫檔案(下載SDK,要下載的sdk裡面的那個libWeChatSDK.a才有支援i386的,裡面有兩個資料夾 WeChatSDK_1.5
    WeChatSDK_1.5_OnlyIphone,選擇WeChatSDK_1.5) WeChatSDK_1.5
    WeChatSDK_1.5 有i386的libWeChatSDK.a
    有i386的libWeChatSDK.a
  • 使用真機測試

2.解決架構問頭後在工程裡出現了以下問題:
Undefined symbols for architecture x86_64:
"operator delete", referenced from:
+[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)

螢幕快照 2014-12-11 下午3.43.16.png
螢幕快照 2014-12-11 下午3.43.16.png

解決方法:

  • 果斷加上libc++.dylib