Can no longer import app module into unit tests af

2019-02-12 22:53发布

问题:

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.

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?

回答1:

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

For your project:

For your app target:

For your test target:

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.