uplaod image and video to amazon S3 (arm64 error) - ios

My code is for uploading videos and photos, and it is working fine but when I put arm64 to valid architectures it displays the following errors
ld: warning: ignoring file /Users/clicktraders/Desktop/On Going Projects/VideoUploading/AWSRuntime.framework/AWSRuntime, missing required architecture x86_64 in file /Users/clicktraders/Desktop/On Going Projects/VideoUploading/AWSRuntime.framework/AWSRuntime (3 slices)
ld: warning: ignoring file /Users/clicktraders/Desktop/On Going Projects/VideoUploading/AWSS3.framework/AWSS3, missing required architecture x86_64 in file /Users/clicktraders/Desktop/On Going Projects/VideoUploading/AWSS3.framework/AWSS3 (3 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_AmazonS3Client", referenced from:
objc-class-ref in CLUploadService.o
objc-class-ref in SyncViewController.o
objc-class-ref in FirstViewController.o
"_OBJC_CLASS_$_S3CannedACL", referenced from:
objc-class-ref in CLUploadService.o
"_OBJC_CLASS_$_S3PutObjectRequest", referenced from:
objc-class-ref in CLUploadService.o
"_OBJC_CLASS_$_S3TransferManager", referenced from:
objc-class-ref in SyncViewController.o
objc-class-ref in FirstViewController.o
"_OBJC_EHTYPE_$_AmazonClientException", referenced from:
GCC_except_table1 in CLUploadService.o
"_OBJC_EHTYPE_$_AmazonServiceException", referenced from:
Kindly guide me whats wrong with that. #z3r0

Based on comments:
In the case you are using pre-built libXYZ.a, your static library wasn't compiled for 64-bit. You need a newer version. If you have source code, You can re-compile with support for 64 bit system.

All your linked frameworks must have 64-bit support. Your AWS framework version is old. You should at least have AWS SDK for iOS 1.7.0. It's the first version that supports 64-bit. Otherwise, your app won't be accepted to AppStore. You can get them from:
https://aws.amazon.com/releasenotes/iOS

Related

iOS: Twitter-OAuth library architecture problems

I have an old objective-c application that can't run in iOS 11.0 devices. To solve this issue I have changed the architecture (from the build settings) to the standard architecture (the same as the answer of this SO issue) and the Build Archive Architecture Only is having YES for the Debug and NO for the others. The Twitter-OAuth library is included in this project. The build always fails because of those errors:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_OARequestParameter", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OAMutableURLRequest", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OADataFetcher", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OAToken", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OAConsumer", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The version of this library is old (its architecture is not supporting 64 bit). When I replace it with the new version I got a lot of errors between them the errors on the top. I tried to keep the old version, I replaced the libOAuth.a with the new one and all the files mentioned in the errors with the new ones. But I'm still getting the same problem. I know that the best solution is to use the new Twitter SDK (via Fabric) but I wonder if I can keep this library and solve those architecture problems.
Can anyone guide me please?

Apple Mach-O Linker Error with Parse OBJC classes

Hi I have looked over similar questions and tried everything but I can seem to fix my code. Every time I try and archive it I get
Apple Mach-O Linker Errors for Parse User, Object, File, Query, Parse
and a linker command failed with exit code 1.
First I get an ld:
warning: ignoring file .., missing required architecture arm 64 in
file Parse.framework.Parse
Then the following errors:
Undefined symbols for architecture arm64: "_OBJC_CLASS_$_PFUser",
referenced from:
objc-class-ref in SignupViewController.o
objc-class-ref in LoginViewController.o
objc-class-ref in InboxViewController.o
objc-class-ref in EditFriendsViewController.o
objc-class-ref in FriendsViewController.o
objc-class-ref in CameraViewController.o "_OBJC_CLASS_$_PFObject", referenced from:
objc-class-ref in CameraViewController.o "_OBJC_CLASS_$_PFFile", referenced from:
objc-class-ref in CameraViewController.o "_OBJC_CLASS_$_PFQuery", referenced from:
objc-class-ref in InboxViewController.o "_OBJC_CLASS_$_Parse", referenced from:
objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code
1 (use -v to see invocation)
Please can someone with experience of this issue help me as I've spent about 3 hours researching this already.
I know it's something to do with the Linked Frameworks but I don't get what?
Things I've tried:
Updating to the latest version of Parse Framework.
Including various other Frameworks that might have been missing.
Changed the Architectures in Build Setting to Standard Architectures (armv7, arm64)
Changed Build active Architecture only to No.
I just want this X-code project to build and archive with 64-bit support but there seems to be something fundamentally wrong with how I'm implementing Parse for 64-bit

AWS iOS SDK -> Missing Required Architecture x86_64

I'm trying to use the amazon AWS for iOS SDK but I keep getting several Apple Mach-O Linker errors in Xcode 6.1.1, this error happened when i'm trying to use iOS simulator iPhone 5s but it works fine on 4s simulator. Any help would be much appreciate.
AWS Framework I'm using is AWSiOSSDK v 1.7.0
ld: warning: ignoring file
/Users/xxx/Downloads/xxxios_app/FacebookSDK.framework/FacebookSDK,
missing required architecture x86_64 in file
/Users/xxx/Downloads/xxx_ios_app/FacebookSDK.framework/FacebookSDK (3
slices) ld: warning: ignoring file
/Users/xxx/Downloads/xxx_ios_app/AWSiOSSDK.framework/AWSiOSSDK,
missing required architecture x86_64 in file
/Users/xxx/Downloads/xxx_ios_app/AWSiOSSDK.framework/AWSiOSSDK (3
slices) Undefined symbols for architecture x86_64:
"_OBJC_CLASS$AmazonEndpoints", referenced from: objc-class-ref in
LoginViewController.o objc-class-ref in PhotoViewController.o
"_OBJC_CLASS$AmazonErrorHandler", referenced from: objc-class-ref in
LoginViewController.o objc-class-ref in PhotoViewController.o
"_OBJC_CLASS$AmazonLogger", referenced from: objc-class-ref in
LoginViewController.o objc-class-ref in PhotoViewController.o
"_OBJC_CLASS$AmazonS3Client", referenced from: objc-class-ref in
LoginViewController.o objc-class-ref in PhotoViewController.o
"_OBJC_CLASS$FBNativeDialogs", referenced from: objc-class-ref in
LoginViewController.o "_OBJC_CLASS$_FBRequestConnection", referenced
from: objc-class-ref in LoginViewController.o objc-class-ref in
PhotoViewController.o
https://stackoverflow.com/a/3949338/2245240
This happens when you add a framework to your project and unintentionally copy the framework into your project directory.
The fix is to check your project directory (where you store your project on disk) for any iphone SDK *.Framework files and delete them.
Project will build fine afterwards.

Twitter library error : Undefined symbols for architecture x86_64:

I am using TwitterLibrary in one of my applications, Twitter log-in is working perfectly but as per the apple's requirement new apps can be submitted with 64bit support and build with IOS8+ SDK, so for this I added "armv7 armv7s arm64" in valid architecture in build setting in my target and project.After adding "arm64" I am facing following erros
"_OBJC_CLASS_$_OAConsumer", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OADataFetcher", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OAMutableURLRequest", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OARequestParameter", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
"_OBJC_CLASS_$_OAToken", referenced from:
objc-class-ref in SA_OAuthTwitterEngine.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: unable to open executable '/Users/my-name/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/MYAPP.app/MYAPP'
I thing twitter library does not provide 64 bit support,its my guess i am not sure about it, but how can I remove twitter errors is there any way to short these errors?
Thanks a lot in advance..
Finally come to a solution Added latest Twitter-IOS-SDK using Twitter's new Xcode plugin named "fabric". New SDK is compatible with 64bit.
https://dev.twitter.com/twitter-kit/ios/configure

Adding Google Cast SDK to 64-bit build

Trying to build a universal 32/64-bit binary with the Google Cast framework (2.0 from here) produces this warning and several linker errors:
ld: warning: ignoring file [...]GoogleCast.framework/GoogleCast,
missing required architecture x86_64 in file
[...]GoogleCast.framework/GoogleCast (3 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_GCKDeviceManager", referenced from:
objc-class-ref in GoogleCastDeviceController.o
"_OBJC_CLASS_$_GCKDeviceScanner", referenced from:
objc-class-ref in GoogleCastDeviceController.o
"_OBJC_CLASS_$_GCKImage", referenced from:
objc-class-ref in GoogleCastDeviceController.o
"_OBJC_CLASS_$_GCKMediaControlChannel", referenced from:
objc-class-ref in GoogleCastDeviceController.o
"_OBJC_CLASS_$_GCKMediaInformation", referenced from:
objc-class-ref in GoogleCastDeviceController.o
"_OBJC_CLASS_$_GCKMediaMetadata", referenced from:
objc-class-ref in GoogleCastDeviceController.o
"_kGCKMetadataKeySubtitle", referenced from: [...]
ld: symbol(s) not found for architecture x86_64
Google was about three months late adding 64-bit support for Analytics, so I'm wondering if they've delayed the release of a 64-bit Cast framework as well.
Has anyone successfully built a 64-bit binary with this framework?
Per the release notes for 2.1.0.529 (released 3/25/2014):
64-bit builds are now fully supported
I updated the Google Cast framework in my project and was able to deploy to iPad Air and iPhone 5S.
The latest framework is available here (direct link).

Resources