0
votes

Before this gets marked as duplicate, I've already checked The use of Swift 3 @objc inference in Swift 4 mode is deprecated?

I'm resuming development on app which I had been working on before Xcode 9 (with Swift 4) was released.

I'm getting the build time 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 "Rushed" target."

I know how to turn on/off/default the build setting but even when I turn it on and then 'default' it, the warning is still appearing.

Scrolling through my files, there are no warnings/yellow triangles which could tell me where the issue is occurring and there's no 'Fix' button appearing.

Please help!

1
Are there other targets (a ...Tests target for example)? The warning is displayed for each target individually.vadian
@vadian I'm not sure I understand :-( Where should I look?Adi219
Select the project on the top of the project navigator and look at the targets. How many do you have?vadian
@vadian Actually it's fine! I clicked on my project and then the Target section. It turns out that my app's @objc interference was on even though it was off in Project section.Adi219

1 Answers

2
votes
  1. Click on the project (the first thing in the massive drop-down list)
  2. Click on the Targets section that appears
  3. Search for the Swift 3 @objc interference section
  4. Turn it On and fix any warnings/errors that pop up
  5. Turn it to Default and your project should run without any issues