Support Topics Documentation Slack YouTube Blog

arm64 error when updating to Backendless 4


(Jay Kerr) #1

I am updating an existing iOS app to Backendless 4.0. I have fixed all code issues, but am getting the following build error:

Undefined symbols for architecture arm64:
OBJC_CLASS$_UNNotificationAttachment”, referenced from:
objc-class-ref in libbackendless.a(MessagingService.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I am using cocoapods to manage my dependancies. How can I resolve this issue?


(Mark Piller) #2

Hello,

Please check the version number of the SDK? The latest version is 4.0.6. If it is not 4.0.6, make sure to run “pod update”.

Regards,
Mark


(Jay Kerr) #3

Hi Mark,

Running

 
 
 
 
target 'CSCSalesMeeting' do 
 
 
 
 pod 'Realm' 
 
 pod 'Backendless', '~>4.0' 
 
 pod 'SDWebImage', '~>3.7' 
 
 pod 'MBProgressHUD' 
 
 
 
end 
 
 
 
 




(Mark Piller) #4

That pod spec may not update the installed pod to the latest version. You can run “pod list” to see what version you have (warning, it will produce a lot of output).

Also, as a point of reference, I recommend going through the steps described at the link below and comparing your project setup with the one downloaded from console: https://backendless.com/docs/ios/doc.html#quick_start_guide


(Jay Kerr) #5

I’ve verified that I have 4.0.6.

I updated another app last week with zero issues except for code corrections to the new api.

I’ll step through the quick-start guide, but hmm.


(Jay Kerr) #6

I am able to duplicate this problem easily in a new project (Xcode 8.3.3). If I create a new ObjC project, then create a podfile with Backendless as the only pod, and run pod install, I get the following error:

Undefined symbols for architecture x86_64:

OBJC_CLASS$_UNNotificationAttachment”, referenced from:

objc-class-ref in libbackendless.a(MessagingService.o)

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)iOS


(Mark Piller) #7

Does the project you download from console work though?


(Jay Kerr) #8

Yes, the downloaded project works. But I need to be able to update existing projects. As I said, the Swift project worked fine, while the ObjC project errors as described above. The existing project complains about arm64, while a newly created project complains about x86_64, even though it is an iOS project.

I have tried removing and reinstalling Backendless with cocoapods, to no effect, and cleaning the project and the build folder also have no effect on the error.


(Jay Kerr) #9

I just created a new Swift iOS project and installed Backendless 4.0.6 using cocoapods and did not get build errors as I do when doing the same steps with and ObjC project.


(Mark Piller) #10

Would you be able to zip up and upload a problematic project to either google drive or dropbox and share the link with us? It would let us inspect the project and see what goes wrong in there.

Regards,
Mark


(Jason Day) #11

Mark Hi, I’m experiencing the same problem the the automatic code generated from Backendless 4 for both the swift and objective-c files. Please keep the post up-to-date with any resolution

Regards

Jason


(Sergey Chupov) #12

Hi Jason,
Please create a dedicated topic with a detailed description of your problem so we could better track your request and try to help you.


(Jay Kerr) #13

Hi Mark,

Here is the link to my dropbox folder and the zipped project. Link will expire tomorrow.

Thanks for the great support!

JK


(Olha Danylova) #14

Hello Jay,

please add the UserNotifications.framework to the Link Binary With Libraries section.

Regards, Olga


(Jay Kerr) #15

Thanks, Olga. Adding the framework fixed the problem. Your support is awesome!

JK


(Ambuj Shukla) #16

@Olga, Thanks so much for the solution:)