Facebook Connect SDK with armv7 Architecture? :( - ios

Recently built an iPad Application using the Facebook Connect SDK. It was recommended to me that i change the architecture of the project to armv6 to allow the Facebook Connect SDK to work.
After changing the project to armv6, it works fine on the simulator and device, however when i try to submit the application to iTunes Connect I receive the following error whilst submitting:
iPad: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv7
So, I done some research and a simple alteration of the architecture (as follows) 'should' fix the problem:
However, the project fails to build with the following error(s):
ld: warning: ignoring file PROJECT/facebook-ios-sdk/build/facebook-ios-sdk.build/Release-iphoneos/facebook-ios-sdk.build/Objects-normal/armv6/libfacebook_ios_sdk.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_Facebook", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Someone correct me if i'm wrong, but it seems that iTunes Connect won't accept an iPad app binary without armv7, and the Facebook SDK won't allow the app to be build with armv7, right?
The only viable solution is enable the Facebook Connect SDK to be build with armv7 to which i've had no success with, i've read plenty of forums and posts that don't really come up with a solution that openly works.
I've been struggling on this for about 7 hours and i honestly don't know what else to do.
Has anybody submitted an iPad only app with the Facebook Connect SDK included? Would be interested to see what settings you have for your project.
Thanks guys, any help would be greatly appreciated.

Instead of waiting for the new release of Facebook SDK, you can include the Facebook Source code in to the project then compile. It should work for armv7 architecture.

Related

Apple Mach-O linker error _OBJC_CLASS_$_FIRInstanceID

I've been trying to implement Firebase Notifications to a project that has alot of targets (like 13). I've been struggling but finally made it work on my test device, being able to show notifications when sent by an app called Postman.
The thing is I installed the frameworks by not using cocoapods because whenever I tried to do Pod install, my project couldn't build forcing me to rollback and try it again. So I opted to use this tutorial: https://www.mokacoding.com/blog/setting-up-firebase-without-cocoapods/
The app was working fine so I tried to archive it, to publish to testflight, and people told me to always use the Generic iOS Device when publishing to Testflight, so the application works on every device and not only on the one I'm testing.
But when I tried to build the project but on a Generic iOS Device I get the error:
Undefined symbols for architecture armv7s:
"_OBJC_CLASS_$_FIRInstanceID", referenced from:
objc-class-ref in MyINFOAppDelegate.o
"_OBJC_CLASS_$_FIRApp", referenced from:
objc-class-ref in MyINFOAppDelegate.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Not being able to archive and send it to testflight.
What should I do? Already saw a ton of posts of things I did but not able to solve :(
Make sure that the Architectures Build Setting does not include armv7s. By default, Architectures is defined to $(ARCHS_STANDARD) which maps to "armv7 arm64"
Firebase binary distributions don't include armv7s - only armv7, i386, x86_64 and arm64.

Apple Mach-O Linker (Id) Error (wechat)

I added a wechat login to my xcode. However, these errors worked.
I do not know how to fix this error. please help me.
Apple Mach-O Linker (Id) Error
"__wechatstore",referenced from:
_Wechat__wechatstore_m13_992 in Bulk_Assembly-CSharp_1.o
_Wechat_wechatstore_m13_995 in Bulk_Assembly-CSharp_1.o
(maybe you meant: _Wechat__wechatstore_m13_992)
Symbol(s) not found for architecture arm64
Linker command failed with exit code 1 (use -v to see invocation)
Activity Log Complete
the message means that the symbol __wechatstore (which is likely a pointer to data structure) can't be found in any arm64 binary supplied to the linker. So there are a couple things that could be going wrong:
the Library with this symbol might not be getting included in compilation. (when build fails in Xcode, go to the 'report' tab in navigator, click on the failing build, and check out the failing "Link ..." task
the Library might be included but not be compiled for arm64. Now that I think of it, I think this is the most likely case. arm64 support is a newer requirement from apple to support iPad Pro. I'd be willing to bet that the library probably only includes armv7. you can find out which architectures are included by running the file command on the library.
A possible temporary solution is to stop compiling for arm64, and try out just compiling armv7: to do that go to Project > Build Settings > Architectures > Architectures and change from $(ARCHS_STANDARD) $(ARCHS_STANDARD) to armv7. (nb: idk but I wouldn't try to submit a binary without the proper architectures for the appstore)

mergZXing build issue

Having an issue building for iOS. Getting "linking for arm (arm64) failed with Undefined symbols for architecture arm64: "____libinfoptr_mergZXing", referenced from: -u command line option
Any ideas what might be wrong? Let me know if you need additional details
When you get linking errors with iOS externals it means it either hasn't been compiled for the SDK or architecture you are building against. In this case it's telling you it hasn't been compiled against arm64. The good news it that there are universal binary builds (armv7 arm64) available for download from mergExt.com for up to iOS 8.2. iOS 8.3 builds will be coming ASAP.

Errors Compiling xcode 6.1

I am trying to building the iOS Agent application for WSO2 emm on xCode 6.1
. I have got everything else working perfectly except the app compile. The instructions here are pretty non specific and don't even mention if your server url is the full url or just the ip.
https://ipetc/emm or if its just your ip address / domain.
The error that I get when compiling is not do with this but I get.
Unfefined symbols for architecture x86_64:
"_OBJC_CLASS_$ApiResponse", referenced from: objc-class-ref in ApiResponseTest.o
I assumed that the valid build arch was wrong but it doesn't include any mention of x86_64 in their downloaded xcode project
Any help is appreciated in this final step.
Thanks
Add architecture Arm64 to your project. EMM agent is bit old and it does not support this architecture in the release version.

Google Conversion Tracking for iOS linker error for architecture armv7

I'm trying to add the Google Conversion Tracking for iOS feature to my iPhone app.
The app's base SDK is iOS6
the app's valid architectures is armv7, armv7s
the app's iOS deployment targer is 4.3
I'm using the latest xcode 4.5.2 and OSX 10.8.2
The app is in appstore and is ok for iPhone 3-4-5
When I try to add the Google Conversion Tracking for iOS following this link: https://developers.google.com/mobile-ads-sdk/docs/admob/conversion-tracking
I have this error:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in libGoogleConversionTracking.a(PingUtil.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The SDK library references the iOS AdSupport development framework
which may not already be part of your project. It can be resolved by
including AdSupport.Framework.
To adding the Framework, just follow the steps below. Select the
project file at the top. Open the Link Binary With Libraries drop-down
under the Build Phases tab. Add the framework from the iOS SDK using
the + button.

Resources