I’ve got a project i’m working on and the client asked me to go back to an older version. But there is still much progress i’ve made on the new files and i want to import it back to the old project.
The files i’m importing (h,m and xibs) are very much alike the older ones but with some changes.
So i deleted them from my old project and dragged & dropped it from my new one.
So it appears i’ve got everything but when i click play it gives me the following error:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_LoadingPage", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Does anyone know why it happens and how to fix it?
Thanks
When linking the linker requires object code to be available in compiled for for each symbol and the architecture it is currently building for.
I’d start out by first cleaning your build folder by deleting the Derived Data entirely.
Next make sure that this file is being built for the architecture that linker says is missing. Check the build log.
You might find that the file has a checkbox in inspector, but the compile build phase is missing it. So it is not being compiled. Open the build phases tab and check if the file is amongst the dompiled files too. It is possible that it got confused and actually added the source file to the resources to be dopied and not the code to be compiled.