Can no longer import app module into unit tests after changing deployment target
Asked Answered
F

1

10

For unit testing public classes of my main app target in my swift unit tests, I have to import my main app module in my tests like so:

#import MyAppModuleName

This worked just fine until I changed my deployment target from 7.0 to 8.4.

Now building and running my app still works perfectly, but running unit tests stopped working. The compiler complains about the above import statement: Swift Compiler Error: Module file's minimum deployment target is iOS8.4 v8.4

I have no clue why. Did I forget to change the deployment target somewhere else?

My workspace (Xcode 6.4.) contains my own project and a Pods project (automatically created by cocoapods). I'm using both Swift and Objective-C in my app and in my tests.

Here's what I did in more detail:

1) Changed deployment target from 7.0 to 8.4 for my project, my main target, and also for the Pods project in my workspace, and all the pods targets.

enter image description hereenter image description hereenter image description hereenter image description here

2) Cleaned the build folder (Shift+Alt+Cmd+K) and restarted Xcode.

3) Cmd+U -> Error

When changing the main app's deployment target back to 7.0, everything works fine again.

Any ideas where this problem is coming from?

Facetious answered 16/7, 2015 at 17:40 Comment(0)
M
22

You were almost there, you just need to update the iOS Deployment Target for your Project and both of your targets.

For your project: enter image description here

For your app target: enter image description here

For your test target: enter image description here

You should probably do a clean and rebuild, no need to restart Xcode. I guess this will also work if you want to target 8.1 etc.

Muleteer answered 16/9, 2015 at 20:23 Comment(1)
Yeah, that was it. I simply missed the fact that there are indeed three or more different places to setup the deployment target. I'm not really sure I understand what this is good for. E.g. project: 9.0, app target: 8.0, tests 8.4Facetious

© 2022 - 2024 — McMap. All rights reserved.