What's ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES with CocoaPods, Swift 3 and Xcode 8

百般思念 提交于 2019-11-28 20:05:12

Go here in your build settings...

And then highlight the "Always embed..." row and hit delete. This will change it to use the inherited property.

I was able to fix this problem by doing the following (step by step):

  1. Go to Build Settings
  2. At the top select All and Combined
  3. Under Build Options you should see Always Embed Swift Standard Libraries and it is bold.
  4. Click on it and click delete (<-). It should now be unbolded. (Normal text = inherit)
  5. Pod install and the error/errors should go away!

  1. Go to Build Settings
  2. At the top select All and Combined
  3. Under Build Options search "Always Embed Swift Standard Libraries"
  4. Update its value with $(inherited)
  5. Now install pod and all the error should go.

The accepted solution works, but now you have to make sure all of your teammates are performing it each pod install.

And we all know they won't.

You could make CococaPods do it automatically, by adding this to the bottom of your Podfile:

post_install do |installer_representation|
    installer_representation.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            if config.name == 'MyPOD' 
                config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'Yes'
            end
        end
    end
end

More info here: https://www.devsbedevin.com/cocoapods-always-embed-swift-standard-libraries/

I suggest to set all pods after install as suggested in the message:

post_install do |installer_representation|
    installer_representation.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = '$(inherited)'
        end
    end
end
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!