before distributing : Undefined symbols for architecture armv7 - xcode

Just before distributing my app throughout App Store, I'm getting this error.
I've did move some files from other project, but I did check on compile sources for the .m files ( they were already there so I didn't had to add any files). Plus, I've changed the " build architecture only " to No.
Another change I've did is leave only 'armv7' on " valid architectures ".
The error is :
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MWFeedParser", referenced from:
objc-class-ref in ListadoArticulosViewController.o
ld: symbol(s) not found for architecture armv7
clang: error:
Now the MWFeedparser class is from the cocopods installation located at other pod, so I didn't do any rough changes in the pod ( should I ? ) .
Note : the project do work in my release and debug profile, I'm getting this error only with my distribution profile. Any suggestions?

for those who stuck with this annoying error, all you got to do is add the (mwfeedparser).a to the compile sources . I spent hours to figure it out hope it's going to be helpful to someone.

Related

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_GeneratedPluginRegistrant"

I'm developing a Flutter app and getting this error. I have tried flutter clean, rm podfile, pod deintegrate, removed podfile.lock, but non seem to fix.
The full error message in Xcode is as follows:
Undefined symbols for architecture x86_64:
"OBJC_CLASS$_GeneratedPluginRegistrant", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I dumped the whole ios file and re-created it using flutter create . at the project directory level. I just dragged the "ios" folder to the trash, then ran the command above at the command line. I am guessing there was a file somewhere with an incorrect package name since I changed my package name to remove the "example" within the "com.example.". Note to self: choose one project name and leave it as is!

xcode 10.1 Undefined symbols for architecture arm64

I already gone so many SO threads with similar issue but none of them seems to resolve my error.
In our project we have multiple "TARGETS". Only one of the target - the very first target created ever - is archiving properly. When I try to archive other target we encounter this error
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_DynamicEventData", referenced from:
objc-class-ref in DataManager.o
objc-class-ref in DataReader.o
"_OBJC_CLASS_$_DynamicDataService", referenced from:
objc-class-ref in DataManager.o
"_OBJC_CLASS_$_DynamicDataConfig", referenced from:
objc-class-ref in DataManager.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I did compare the Build Setting of the working target to the other targets but all of them are equal. I checked the header files and they exists in our project directory. I tried to manually add the header files' path to Header Search Paths but same result still getting the error.
Any idea? I really need to resolve this to export an ipa file.
Thanks!
I scan manually check the Build Phases > Link Binary With Libraries of the working target vs the defected targets. I found a one framework/library that was only added to the working target the said framework isn't manage by pod that may explain why the other target doesn't have it. I think it was added manually in the project.
I add the said framework to all targets and now I can build without the said error.
Thanks!
I encountered the same problem and the solution I found is so simple (man....).
Search in the project for the classes that are mentioned in the error.
Go to the "File Inspector" and simply check V for the rest of the targets in the "Targets Membership".
That's it! It took me Two Hours (wasted time) to find out.
Hope my solution will save time for anyone with similar problem.

Getting an error : Undefined symbols for architecture x86_64

I'm trying to write a C file from the tutorial in my cocoa project however, I'm getting errors like
Undefined symbols for architecture x86_64:
"_IOIteratorNext", referenced from:
_MyGetDeviceFilePath in USBInterceptor.o
"_IOMasterPort", referenced from:
_MyFindEjectableCDMedia in USBInterceptor.o
....
Does somebody know what's wrong?
The error suggests that you need to add the IOKit framework to the link step of your project's build phases.

Xcode5, project deploys to device but get's a build error for simulator

When I deploy my app to my phone via xcode5 it works find, however when I try to deploy it to one of the simulators I get the following errors.
ld: warning: ignoring file /Users/benpearce/Downloads/MapKit.framework/MapKit, missing required architecture i386 in file /Users/benpearce/Downloads/MapKit.framework/MapKit (2 slices)
Undefined symbols for architecture i386:
"_MKCoordinateRegionMakeWithDistance", referenced from:
-[MapKitView createViewWithOptions:] in MapKit.o
"_OBJC_CLASS_$_MKMapView", referenced from:
objc-class-ref in MapKit.o
"_OBJC_CLASS_$_MKPinAnnotationView", referenced from:
objc-class-ref in MapKit.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Can anyone see what's going on?
The MapKit framework is missing a binary for the Simulator which is i386. The Simulator is a Mac application and needs a code resource compiled for the i386 Intel processor. Where did you get MapKit?
If this is Apple's MapKit you should just be including the framework provided with Xcode. It is added in Xcode by selecting the Project, Build Phases, Link Binaries with Libraries, +, select MapKit.framework.
Also the framework in in your Downloads directory, why?

Flurry integration build fails: Undefined symbols for architecture armv7

I dragged the Flurry.h and libFlurry.a to my project. Added the neccessary inovation in my main delgate with a correct key. I already had the SystemsConfigurations.framework in my project. When buildin I get the follow:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_Flurry", referenced from:
objc-class-ref in KitzyAppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1
I have checked other build issues on Stackoverflow and nothing worked. Flurry's document is pretty lacking in details and problem solving.
Stackoverflow Lords please help!
Thanks in advance
I fixed this issue, users need to refer to the readMe .pdf with the zip file as you need to move the sdk folder with the two files into your xcode project.

Resources