dyld: lazy symbol binding failed: Symbol not found

最近針對安全性升級調整程式碼,並重新釋出自製的framework套件,結果安裝此套件的專案build得過,但遇到dyld: lazy symbol binding failed: Symbol not found錯誤無法run

最後參考此文章dyld: lazy symbol binding failed: Symbol not found - Swift Kingfisher

雖然不是因為使用Swift Kingfisher造成,但情況大同小異,最終在使用套件的專案之Podfile加上如下語法,並且主動執行一次pod install即可。這段語法用途在於把所有Pod專案的build setting中的Build Libraries for Distribution一次性的設定為YES。要手動設定也是可以。

post_install do |installer|

  installer.pods_project.targets.each do |target|

    target.build_configurations.each do |config|

      config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'

    end

  end

end

如果對語法有興趣,可以參考此文瞭解一下CocoaPods Hooks

沒有留言: