Module file's deployment target is ios9.0 v9.0 with XCode 7 / Swift 2

I have a project using some modules that I have installed via cocoapods. One of them is Charts (https://github.com/danielgindi/ios-charts). In order to migrate my project from Swift 1.2 to Swift 2 I have gone through the wizard that comes up when first opening the project with XCode 7. The Charts module is already available for Swift 2, and I have changed my Podfile to contain the following in order to upgrade to this newer and not yet officially released version:

pod 'Charts', :git => 'https://github.com/danielgindi/ios-charts.git'

Now the project workspace opens fine in XCode except one error message that I can't get rid of myself, and I cannot find any helpful informations in the web:

At the place where I import my "Charts" module the above mentioned error message pops up. First, I made sure the whole project is set to deployment target IOS 9.0 as it was 8.0 before.

As this didn't solve the issue, I have done Product -> Clean, Product -> Clean Build Folder and finally deleted the "Derived Data" folder's contents. I also have re-started XCode after all these steps but the error still appears.

Does anybody have a clue what I could have missed? Thank you very much!

Christian

Answers


Same, in my case

Selected TARGETS,

then go to "Build Settings"

Search for "iOS Deployment target” in search bar

Changed it from iOS 8.2 to 9.0 - in all


In case you have to support older versions and you don't have the option to just upgrade the deployment target of your project to required version, try downgrade it in a pod itself:

  1. Select Pods project in Project Navigator
  2. Go through every pod in TARGETS list and change its Deployment Target to the version you need
  3. Clean and Build your project

Worked for me. show snapshot from Xcode


For me, wiping out DerivedData fixed the issue. It seems that clean does not wipe out swiftmodule files.

rm -rf ~/Library/Developer/Xcode/DerivedData


Just put "platform :ios, '8.0'" or whatever is your version in your Podfile and it will be solved.


You have to update podspec file to s.ios.deployment_target = '9.0'


In my case, where the imported module of Pod FOO was failing because it needed version X:

  • main app/project/targets were all set to minimum deployment target >= X [OK]
  • pod FOO itself had correct >= X minimum deployment target in its podspec [OK]
  • another pod, BAR, was using pod FOO, and BAR's minimum deployment target was less than X. [FIXED: edit BAR's podspec and increase min deployment target to at least X]

tl;dr; it could be that you're using pod 1 which is using another pod 2; the problem is in pod 1's podspec


You need to go to Pods, and for every target inside that, set the same development target as you do for the main project, clean and build again.


Need Your Help

Why does this if statement, with an assignment and equality check, evaluate to false?

java if-statement logic

How does a Java if statement work when it has an assignment and an equality check OR-d together??

How to completely uninstall Visual Studio 2010?

.net windows visual-studio uninstall

I've been looking to find a CLEAN solution to completely and ultimately remove Visual Studio 2010 from my computer. When you install Visual Studio, it also installs a bunch of programs (about 55) i...