We are trying to integrate a static library in to a cocoa touch framework to create a universal framework. I have compiled the framework for 86_64, i386, armv7 and arm64, but when we are uploading the file to apple store, i386 and x86_64 exhibit problems.
The error is :
ERROR ITMS-9000: "Unsupported architectures. Your executable contains unsupported architectures '[x86_64, i386]
We have tried stripping the unsupported libraries via :
http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/
Then it returns:
"No architectures in the binary. Lipo failed to detect any architectures in the bundle executable."
I would much appreciate help on this matter
Related
I'm using CMake with Xcode generator to generate Xcode project to build framework for iOS and tvOS (and other platforms too).
I'm setting IOS_INSTALL_COMBINED to generate a framework that contains both device and simulator architectures automatically without need of calling lipo myself.
The problem is that generated .framework.dSYM is not universal, it has only x86_64 architecture slice. Should I call lipo manually anyway to merge it myself? I wanted to avoid it and have CMake/Xcode do all the work.
I have a question. I cloned VLCKit from (http://code.videolan.org/videolan/VLCKit.git) and try to compile as static framework for tvOS (params -f -t). But I can't find compiled framework (expecting .framework file). Where is it?
The framework flag is not available for tvOS at the moment. For tvOS we only provide a universal static library (*.a) with headers (universal in the sense that it includes a slice for the simulator as well as the device).
It seems that the compile process is broken because tvOS and iOS versions don't match: after compiling using tvOS 9.1, it complains about missing 9.0 SDK:
[info] Building MobileVLCKit (MobileVLCKit, Release, iphoneos)
xcodebuild: error: SDK "iphoneos9.0" cannot be located.
I am not very confident in understanding the compilation prices but it appears that the last phase must hardcode the compilation directories and apparently set a bad target but also use this information as the base SDK so I added a new parameter like below:
buildxcodeproj MobileVLCKit "TVVLCKit" phones appletvos9.0
buildxcodeproj MobileVLCKit "TVVLCKit" iphonesimulator appletvsimulator9.0
that replace the value for --sdk of xcodebuild in buildxcodeproj
Further the paths in final lipo commands are wrong
hope that helps
I have an error while building fat binary:
ld: symbol(s) not found for architecture i386 (or arm7 for device)
collect2: ld returned 1 exit status
error MT5202: Native linking failed. Please review the build log.
even if I place only one defenition (AWView) in ApiDefinition. All dependencies were included.
Although, in xcode everything is ok.
Here is a link to github.
P.S. "xcrun -sdk iphoneos lipo -info /...../libAdWired.a" tells that
Architectures in the fat file: libAdWired.a are: i386 armv6 armv7
I had to free my mind, and I love/enjoy doing MonoTouch bindings so please give this a try
https://github.com/dalexsoto/AlexTouch.AdWired
Hope this helps
Alex
Try compiling for an actual device which will be targeting armv7 architecture.... Your objc library was not compiled with the i386 architecture in it, probably just armv7. You can see which architectures are compiled in it by going to terminal and using the command:
file libSomeLibrary.a
This will tell you all the architectures in the compiled library.
So, simply choose Debug -> iPhone instead of iPhone Simulator and you should not get that same error...
before updating the archiving process work good but after updating when i archiving the app it gives a linker error to TestFlight Library error is:-
ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/dhirajchoudhary/Documents/MyWorldOfExpo/HRWeekIndia/TestFlightSDK1.0/libTestFlight.a for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Is any one know how to link the testflight library in Xcode 4.5, iOS 6.0
It's pretty much exactly what the error message says: your app supports multiple architectures, including armv7s. You're trying to link with the TestFlightSDK which doesn't include the armv7s architecture.
You need to either:
Use a newer version of the TestFlight SDK which includes the new armv7s architecture. I'm not sure if this exists yet
Remove the armv7s architecture from your application. It should still work on the iPhone 5 (which is the only device to use armv7s currently) but you would need to test
You need to install Test Flight SDK 1.1, which with support for arm7
I've removed the import of the UIKit framework, and now I get this error. Do I have to somehow recompile the framework? It's not really giving me anything to go on...
And if it means anything, I am able to run the SDK examples in IOS so there aren't any system requirements that I'm not meeting.
ld: warning: ignoring file /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks//AWSiOSSDK.framework/AWSiOSSDK, missing required architecture x86_64 in file
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_AmazonS3Client", referenced from:
objc-class-ref in Constants.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
You can't just use the .framework provided by Amazon, because the binary is only for iOS. You need to rebuild the framework from the source, which thankfully comes in the SDK.
I created a XCode project with the source from the iOS SDK that appears to work. I have only tested some of the rudimentary S3 code but since it works in iOS, presumably, and I am able to communicate with S3, I think it should be good for all the services it supports.
https://bitbucket.org/danap/osx-aws-toolkit
Please feel free to fork and submit pull requests with changes.
I've created a fork of the AWS iOS SDK which can be built and used for Mac OS X development. Check it out: https://github.com/amberdixon/aws-sdk-ios. In the readme, I've included instructions on how to build the Mac OS X-compatible version of the AWS iOS SDK framework, which you can import into your OS X projects.