Undefined symbols for architecture arm v7 - iphone

I am getting this error any solution please ?
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in FacebookSDK(FBSettings.o)

You need to link your application with AdSupport.framework. This framework is available in iOS6.0 and later. If your application is targeted to use iOS versions less than 6.0 then you need to link to AdSupport.framework as Optional instead of Required.
The Facebook developers page mentions the steps to upgrade your FB SDK. https://developers.facebook.com/docs/ios/upgrading-from-3.0-to-3.1/. You can find the list of URLs for various SDK versions on this page.
Check it out.
Hope that helps!

I think you didn't add AdSupport.framework. Also remember to remove -all_load linker flag.

The message hints can't find the class ASIdentifierManager, because the corresponding framework not really add it to the object. Just add the framework which includes the class.

Related

Integrating Facebook with iOS

I get all these errors and about 18 more when i try to integrate facebook to my application.
Undefined symbols for architecture i386:
"_ACAccountTypeIdentifierFacebook", referenced from:
+[FBSession renewSystemAuthorization] in FacebookSDK(FBSession.o)
"_ACFacebookAppIdKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceEveryone", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceFriends", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceKey", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookAudienceOnlyMe", referenced from:
-[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
"_ACFacebookPermissionsKey", referenced from:
Im using the latest facebook instructions on how to add facebook to my page but i am working with iOS 4.3 and above. SO it needs to cater to 4.3. I have set Accounts.framework to optional. Any one knows what these erros mean? Ive also tried adding any other implementation files that are not linked.
The errors are generated everytime i access FBSession or FBConnect etc.
For the record: we expect you to use XCode 4.5 for developing with the Facebook SDK 3.1 as described here
Account.framework, Social.framework and AdSupport.framework are all required (as described here) but use the 'optional' flag if you want to build for older iOS versions too.
Good luck.
With Account.framework you also have to add Social.framework and AdSupport.framework.
If you drag and drop Adsuport, Accounts or Social libraries from another project and you select "Copy items into destination group's folder" AdSuport and Social directories will be created into yours app source folder and you will get this linker error, remove directories and add libraries from project's Buld Phases -> Link Binary,
you may also need to add libsqlite3.dylib
I think the Accounts.framework needs to be required. But it is only implemented in iOS 5 and later see developer reference for more information.
Solved this by upgrading to xcode 4.5.1 and then adding the social and adsupport framework and also the -lsqlitee3 or so as stated. I did add lsqlite3 before but it said multiple values on top so i just took the unnecessary for base sdk comments out and it worked.

How to solve the errror ""_CGAffineTransformMakeRotation", referenced from:"?

When i use the following code i am getting the error message that says
""_CGAffineTransformMakeRotation", referenced from:"
companyNameLbl.transform=CGAffineTransformMakeRotation(30);
Can anyone please tell me what will be the reason for this error.
If I remember correctly, those transformations require that you link against the CoreGraphics Framework.
See How to "add existing frameworks" in Xcode 4? if you have difficulties adding new frameworks in XCode.

Once S7FTPRequest is added iPhone app does not compile

New to iPhone app development, I have a problem compiling (or "Build and Run") my application after including S7FTPRequest into my class library; before I even include it in any particular script. I get the following errors:
Undefined symbols:
"_kCFStreamPropertyFTPPassword", referenced from:
_kCFStreamPropertyFTPPassword$non_lazy_ptr in S7FTPRequest.o
(maybe you meant: _kCFStreamPropertyFTPPassword$non_lazy_ptr)
"_CFWriteStreamCreateWithFTPURL", referenced from:
-[S7FTPRequest startUploadRequest] in S7FTPRequest.o
-[S7FTPRequest startCreateDirectoryRequest] in S7FTPRequest.o
"_kCFStreamPropertyFTPUserName", referenced from:
_kCFStreamPropertyFTPUserName$non_lazy_ptr in S7FTPRequest.o
(maybe you meant: _kCFStreamPropertyFTPUserName$non_lazy_ptr)
"_kCFStreamErrorDomainFTP", referenced from:
_kCFStreamErrorDomainFTP$non_lazy_ptr in S7FTPRequest.o
(maybe you meant: _kCFStreamErrorDomainFTP$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status
thx!
You got it a little wrong. The problem is coming due to linking as a required framework is missing, but the framework needed is CFNetwork.framework and not libz.1.2.3.dylib
The libz dynamic library is used for zipping/unzipping operations.
Ok I kinda gave up on this solution (for the time being) but I think I solved the issue when trying something different.
It seems that many external components need some accommodating linked libraries.
You can add new libraries by going to Project > Edit Active Target "ProjectName" > General
Then you click the plus simple to see all the available libraries.
Not sure which one fixed but I added these for a different solution and voila S7FTPRequest compiled.
Here are the libraries I added (I think it was actually libz.1.2.3.dylib):
CoreGraphics.framework
CFNetwork.framework
SystemConfiguration.framework
MobileCoreServices.framework
libz.1.2.3.dylib

How to create mobile substrate plugins on XCode?

I just wanna create a MS plugin to hook SpringBoard. I'm following "gojohnnyboi" tutorial from here "http://www.ipodtouchfans.com/forums/showthread.php?t=103558".
To create a dylib on XCode, I'm following "SkylarEC" tutorial. I mix these two great tutorials and finally got succeed by getting a dylib. But when I placed the dylib in the /Library/MobileSubstrate/DynamicLibraries/ nothing is happened (no alert was shown).
By evaluating, I found that, this dylib doesn't have any starting point when it was loaded into the memory. So I mentioned a starting point by declaring a constructor in the .mm file like,
__ attribute__((constructor)) static void init()
{
Class _$SBAppIcon = objc_getClass("SBApplicationIcon");
MSHookMessage(_$SBAppIcon, #selector(launch), (IMP) &__$ExampleHook_AppIcon_Launch, "__OriginalMethodPrefix_");
}
But when I'm trying to compile this, I'm getting an error like,
**Undefined symbols:
"_MSHookMessage", referenced from:
init() in ExampleHook.o
ld: symbol(s) not found
collect2: ld returned 1 exit status.**
Does anyone has idea how to solve this? It would be great and more helpful if anyone share the detailed tutorial/instructions to create a dylib on XCode.
P.S I placed all the libsubstrate.dylib and substrate.h files in the corresponding location. And the locations are,
libsubstrate.dylib : /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/
substrate.h : /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include
and my base SDK is 3.0.
You should probably check out iOSOpenDev
(These are very old tutorials. Some modern MS code can be found in http://iphonedevwiki.net/index.php/MobileSubstrate. Eventually someone needs to write an updated tutorial...)
Make sure you have added libsubstrate.dylib in your Xcode project (Add → Existing files...). The compiler will not automatically find which dylib to link unless you tell it so.
Try http://unlimapps.com/?p=15 it will be much easier to compile plugins using the methods in that post
You have to copy CydiaSubstrate.framework to /Library/Frameworks in your mac and link to CydiaSubstrate
#include <CydiaSubstrate/CydiaSubstrate.h>

".objc_class_name_CUIFramework",referenced from:

I'm working with developing an application for iPhone in Objective-C
Can anyone tel me how to solve this error:
".obj_class_name_CUIFramework", referenced from:
collect2:ld returned 1 exit status
literal-pointer#_OBJC#_cls_refs#CUIFramework in MF_CoreAppDelegate.o
symbol(s) not found
I tried to compile my code, i don't have idea for what this error is related to. Please help.what could be the problem?
i've added Foundation framework and UIKit framework
Your code's well-formed, so compiles just fine. When the linker tries to link your application to the frameworks you use, it finds that you reference a framework that's not been imported to your application.
It looks like your code is using a class CUIFramework, but that you haven't added the appropriate framework to your project.