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

IosSwift3CocoapodsXcode8

Ios Problem Overview


after installing cocoapods and adding pod "SwiftCarousel" to pod file and uncomment the platform :ios, '9.0' I got this ERROR

> ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES

and what should I do?

mohammed.elias$ pod install

Analyzing dependencies
Downloading dependencies
Installing SwiftCarousel (0.8.0)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `scrollView.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

[!] The `scrollViewTests [Debug]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-scrollViewTests/Pods-scrollViewTests.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `scrollViewTests [Release]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-scrollViewTests/Pods-scrollViewTests.release.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `scrollViewUITests [Debug]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-scrollViewUITests/Pods-scrollViewUITests.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `scrollViewUITests [Release]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-scrollViewUITests/Pods-scrollViewUITests.release.xcconfig'. This can lead to problems with the CocoaPods installation

Ios Solutions


Solution 1 - Ios

Go here in your build settings...

enter image description here

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

Even after you make this change it will remain there but it will probably change from bold to normal text. If that change happens then it is inherited.

Normal text = inherited.

Bold text = overridden.

Solution 2 - Ios

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!

enter image description here

Solution 3 - Ios

  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.

enter image description here

Solution 4 - Ios

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.net/cocoapods-always-embed-swift-standard-libraries/

Solution 5 - Ios

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

Solution 6 - Ios

  1. Delete your Pods folder
  2. set the ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to $(inherited);
  3. run pod install

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMEHView Question on Stackoverflow
Solution 1 - IosFogmeisterView Answer on Stackoverflow
Solution 2 - IosMarlon RuizView Answer on Stackoverflow
Solution 3 - IosUmair AliView Answer on Stackoverflow
Solution 4 - IosVaidenView Answer on Stackoverflow
Solution 5 - IosergunkocakView Answer on Stackoverflow
Solution 6 - IosSantiagoView Answer on Stackoverflow