Xcode won't recognize a new Swift class

In the Project Navigator on the left, select the file where you declared RecordedAudio.

Now, in the File inspector on the right, look at the Target Membership. The app target (not the Test target) should be checked, similar to this:

enter image description here

If not, check it! And now all will be well.


In my case I had to remove the references from the project navigator, and then add them again (the target membership was not the problem).


I just had to do the Full Monty to get it to work...

  1. Comment out referencing lines
  2. Fix other bugs to ensure a build
  3. Cmd+Shft+K (Clean build folder)
  4. Nay...let's delete the build folder: /Users/[YOU]/Library/Developer/Xcode/DerivedData/project-name-ADM2KD...
  5. Restart Xcode
  6. Build
  7. Uncomment our referencing lines

Also maybe add @objc to the line above your class definition and maybe make it public class just to be explicit and possible add public to your methods as well. Oh and make sure you are subclassing NSObject.

If you are stuck getting your initialiser to show up, I've also just noticed that Swift 4.2 has lots more problems here. I switched back to Swift 3. No problems...

Tags:

Ios

Swift