After installing Xcode 9 and migrating to Swift 4 from Swift 3 I received this warning:

The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the “Swift 3 @objc Inference” build setting to “Default” for the “AppName” target.


I resolved this issue by going to the projects build target.  Selecting “Build Settings”.  Searching for “Inference” then changing the setting for “Swift 3 @objc Inference” from “On” to “Default”.  If you have multiple targets in your project you may have to do this for each target.


If you found this helpful then let us also help you earn more with Apple Search Ads at

How to fix the Swift 4 @objc inference warning

Leave a Reply

Translate »