Social.framework not found - iphone

I'm trying to link Facebook SDK 3.1 with my existing iOS application. Base SDK is 6.1, iOS Deployment Target is set to 5.1.
I added Social, Accounts and AdSupport framework to the project and set them to Optional in the Build Phases > Link Binary with Libraries. I also tried to manually link them with -weak_framework in "Other Linker Flags".
However, I always end up with:
ld: framework not found AdSupport
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What am I doing wrong?
Thanks in advance!
EDIT: Using XCode version 4.6 by the way!

the social framework is new in iOS6, if you are supporting iOS5 you has to go to your Target Properties/Build Phases/Link Binary with Libraries and mark the Social framework as Optional as shown in the image

Related

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

I have developed an iOS Application with Xcode 5, release 6.
I have successfully run the application on the iOS simulator and on my iPhone 5 (iOS7 beta6)
I'm following Apple's tutorial on how to release the app onto the app store (bit complicated).
I've gotten to the point where they want me to "Archive" my project. Everytime I attempt to archive it, it gives me this error:
ld: file not found:
/Users/name/Library/Developer/Xcode/DerivedData/Mobile-cwvgezbobyhhzzccadgoqizqcmfd/Build/Intermediates/ArchiveIntermediates/trial/InstallationBuildProductsLocation/Applications/libCordova.a
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Well, since you are using Xcode 5, Apple says on the member center:
"Xcode 5 Developer Preview cannot be used to submit apps to the iOS or
Mac App Store. Continue to use the publicly released version of Xcode
to compile and submit apps to the App Stores."
But I will show some suggestions anyway:
With Xcode, click on your project's icon on the left, select the tab Build Phases > Compile Sources and click on the "+" to check if there is some file .m to be imported.
Check if you imported all the frameworks you are using to your project.
Go to Build Settings and look for Architectures and set armv7 instead of armv6 and armv7s.
I hope this helps.

Linker error: CFHTTP request methods in libShareKit.a on Xcode 4.5 and ShareKit 2.0

I try to intergrate the sharekit 2.0 into my app and installed the new ShareKit 2.0 as a Submodule in my local Git repository. I think I've followed the install instructions properly, but I'm getting 18 linker errors on the 'smoke test'.
Here some error:
Undefined symbols for architecture i386:
"_CFHTTPMessageCopyHeaderFieldValue", referenced from:
-[LFHTTPRequest(PrivateMethods) readStreamHasBytesAvailable] in libShareKit.a(LFHTTPRequest.o)
-[LFHTTPRequest(PrivateMethods) readStreamEndEncountered] in libShareKit.a(LFHTTPRequest.o)
I have included libShareKit.a under 'Link Binary with Libraries' in the Build Phases as indicated in the directions. It is showing up red, if that means anything.
Help would be greatly appreciated. Thanks.
Please add CFNetwork, CoreLocation and Twitter frameworks and rebuild your application.

OpenCV.Framework does not compile for the armv7s architecture

I am working on an iphone application using openCV framework.
Everything was working fine. however lately with the release of iOS 6 and XCode 4.5 I was migrating my project to XCode 4.5
When building I encountered this error:
ld: file is universal (2 slices) but does not contain a(n) armv7s
slice:
/Users/jobs/iPhone_Client/workspace/MyProject/third-party/OpenCV.framework/OpenCV
for architecture armv7s clang: error: linker command failed with exit
code 1 (use -v to see invocation)
** BUILD FAILED **
The following build commands failed:
Ld build/MyProject.build/Debug-iphoneos/MyProject.build/Objects-normal/armv7s/MyProject
normal armv7s (1 failure)
As I understood this is due to the new armv7s architecture.
OpenCV is apparently it is not compiling with armv7s.
How can I fix this issue?
Where can I find a new release of the framework that is compatible with the armv7s architecture?
And if there is no compatible framework available, is there a way to get the source code and create my own library compiled against the new architecture? Maybe some quick steps on how to do it?
Note: Just to note that I need the build for armv7s not armv7.
Thank you
This answer builds upon the one given by n9986. As he suggested, I cloned the repository found at
https://github.com/jonmarimba/OpenCV-iOS
When I downloaded it several references inside the project to different libraries were broken which was strange but they were easy to fix. After they were fixed it behaved exactly as n9986 described, outputting libraries compiled for both armv7 and armv7s. For my purposes however I required that they be bundled into a .framework so that they could be a drop in replacement for the old .framework I have been using.
Previously I had downloaded the latest version of Opencv for ios here and spent quite a bit of time trying to modify their cmake files to compile with support for armv7s. jonmarimba has already restructured the xcode project file to strip away its cmake dependencies which makes changing the target architecture much more intuitive. Unfortunately he does not build as many libraries as come with the standard openCV build. I added a new target to jonmarimba's project for opencv_world which is the target used in the standard openCV release for converting into a framework. Once that was built I used it as a drop in replacement for the static library in the framework file structure generated by the standard openCV release.
The framework I created can be downloaded here. It works perfectly for me as a drop in replacement for my previous opencv2.framework. I did notice however that jonmarimba has not converted the targets for opencv_videostab, opencv_stitching, or opencv_nonfree. It is possible that if you use one of those libraries my framework will not work for you. If that is the case let me know and I can try to set those up as targets in the xcode project for you.
Update
To compile for other architectures, change the target architecture in the included xcode project to whatever you like for the opencv_world library. After you build it, go find the library you just built. Rename the opencv_world library to opencv2 and replace the library file found in the .framework with opencv_world.
Update2
OpenCV 2.4.3 now compiles with armv7s support by default so these solutions are outdated.
Clone the Xcode project for opencv and update the opencv git submodule as per the README:
https://github.com/jonmarimba/OpenCV-iOS
Check the build settings, make sure iOS6 and armv7s are present. Click build. You should now have the armv7s compatible .a files. I just tried this:
$ file libopencv_core.a
libopencv_core.a: Mach-O universal binary with 2 architectures
libopencv_core.a (for architecture armv7): current ar archive random library
libopencv_core.a (for architecture cputype (12) cpusubtype (11)): current ar archive random library
The last entry is for armv7s as per my research so far.
Edit: The last entry is indeed armv7s. I ran the Xcode's own lipo info command:
$ xcrun -sdk iphoneos lipo -info libopencv_core.a
Architectures in the fat file: libopencv_core.a are: armv7 armv7s
You can always just not target armv7s, and only target armv7. Your application will still run fine on the iPhone 5, it just won't be fully optimized for the new instruction set.
Simply, I cloned source from here and build with this tutorial.
Then I got opencv2.framewok that works with armv7, armv7s and simulator.
Stating the obvious, you will need to recompile and rebuild the library openCV.framework and target it for armv7s.
Adjust the library "project settings" and "target settings" before rebuild. good luck!
Probably its possible to build it with CMake. I had one year ago a problem with a medical library I wanted to build for iOS. I could handle that with CMake.
Perhaps this link can be a starter.
http://computer-vision-talks.com/2010/12/building-opencv-for-ios/
Good luck!
Pass -DCMAKE_OSX_ARCHITECTURES="armv6;armv7;armv7s;i386" to cmake when compiling OpenCV library/framework for iOS.

deezer-ios adding static library

I'm trying to use the iOS SDK provided by Deezer to develop an iPhone application. I downloaded the framework here.
I started a new projet on Xcode (xcode 3.2.6), then I imported all the headers files (and the pics in Resources). Then I made right click on Frameworks and chose "add > add existing framework" and selected the "libDeezer.a" provided by deezer.
I wrote some code in my application delegate class, and when I try to build and run the project I got one warning and one error :
ld: warning: in /Users/.../deezer-ios-sdk-0.5 3/deezer-ios-0.5/libDeezer.a, missing required architecture i386 in file
Undefined symbols:
"_OBJC_CLASS_$_DeezerConnect", referenced from:
objc-class-ref-to-DeezerConnect in deezer5AppDelegate.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
How can I link the library to my project? Any ideas?
Double click on project target, and in the search path group, there is a attribute called Library Search path. please specify the path correctly.
if you have still doubt let me know , i will specify more
Are you building for simulator or device ?
The Deezer's iOS SDK is not working on simulator, but devices only.

facebook ios sdk build fails on device, works on simulator

I am trying to build an app (with ARC) that uses the facebook_ios_sdk (the latest version on github).
As recommended by Facebook, I used the build script to create a static library and then added it to the project.
Now when I build the project for an iPhone 5.1 Simulator, it works fine. However, on running it for an actual device (which is running 5.1), it gives the following build error -
ld: in ../facebook-ios-sdk/libfacebook_ios_sdk.a, file is universal but does not contain a(n) armv7 slice for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Any suggestions on how to resolve this?
You could modify the build script for static library (which was too complicated for me), or just skip the library approach:
add the Facebook sources from SDK to your project
if using ARC, go to "target->build phases->compile sources" and mark all the Facbook source files with the--fno-objc-arc flag
That's it, works for me.
One work around that worked was to change the Valid Architectures from"armv6 armv7" to just armv6