Marcel Al Mutawa
Marcel Al Mutawa

Reputation: 113

Undefined symbols for architecture arm64: "_OBJC_CLASS_$_PayTabCardReaderViewController", referenced from: objc-class-ref in ViewController.o

I am getting this weird error when importing a library called pay tabs

Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_PayTabCardReaderViewController", referenced from:
  objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Under build settings

Architectures:

Architecture Standard architectures (armv7, arm64) - $(ARCHS_STANDARD) Base SDK Latest IOS(8.4)

Build Active Architecture Only Debug Yes Release No

Supported Platforms IOS Valid Architectures armv7 arm64

Upvotes: 4

Views: 29368

Answers (3)

azisseno
azisseno

Reputation: 41

Go to Build Phases -> Link Binary with Libraries Add your third party library to this. If you could not find your library, click Add other.

Upvotes: 4

Mike Demidov
Mike Demidov

Reputation: 1127

Have you added the library path to Build Settings -> Libraries Search Path? Check at Build Settings -> Link Binary With Libraries that your library is added also.

Upvotes: 2

Mike Gledhill
Mike Gledhill

Reputation: 29161

Ahh, isn't Xcode great ?

What I would recommend is this: Click on your project in the left panel, then check your architecture settings in both the Project and the Targets sections. enter image description here

And if you have any third-party projects within your project, do the same for them aswell.

(I had to do this when building an Xcode project which used the MapBox iOS SDK library. Annoyingly, you do need to check this setting in each of the various Build Settings tabs, otherwise Xcode will complain.)

Upvotes: 4

Related Questions