Xcode 4, iOS SDK 4.3 & Undefined symbols with Greystripe Ad Solution
I recently upgraded to Xcode 4 / iOS SDK 4.3 and am now having problems with GreyStripe's ad solution when building with base SDK 4.3. Previously I was building with Xcode 3 and a base SDK of 4.0 and Greystripe's ads were working fine.
Now when I build using base SDK 4.3, I get the following error:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_GSAdSlotDescription", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_GSAdEngine", referenced from:
objc-c开发者_运维知识库lass-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
This occurs when I build for iPhone 4.0 simulator, 4.1 simulator and 4.2 simulator and 4.3 simulator.
What's the problem here?
Cheers.
Just add the class file [eg : FileOperations.m] in Compile sources which is located in the Project target.
To fix this open your project properties and find "architectures" and "valid architectures" properties. Click on both of them and select "Other". Then add i386 architecture.
I think the problem is that simulator is run on i386 system (your mac). But I'm surprised why this error doesn't appear in xcode 3.2.6.
精彩评论