i'm working on an iphone app ( sdk 3.1.3 ) and I have added the corelocation and mapkit framework. I used the iphonesimulator package, but added them using 'relative to current sdk'. When I test my app in the iphone simulatore everything works. But when I switch to iphone device 3.1.3 i'm getting 2 warnings and 4 build 开发者_开发知识库errors:
warnings:
.../corelocation
file is not of required architecture
.../mapkit
file is not of required architecture
errors:
"_OBJC_CLASS_$_MKReverseGeocoder", referenced from:<br />
__objc_classrefs__DATA@0 in VMLViewController.o<br />
"_OBJC_CLASS_$_MKPinAnnotationView", referenced from:<br />
__objc_classrefs__DATA@0 in VMLViewController.o<br />
"_OBJC_CLASS_$_CLLocationManager", referenced from:<br />
__objc_classrefs__DATA@0 in VMLViewController.o<br />
"_kCLLocationAccuracyBest", referenced from:<br />
_kCLLocationAccuracyBest$non_lazy_ptr in VMLViewController.o<br />
ld: symbol(s) not found<br />
collect2: ld returned 1 exit status<br />
Build failed (4 errors, 2 warnings)<br />
I right-clicked on the mapkit framework package, checked get info and the path is set as: System/Library/Frameworks/MapKit.framework
I have basic iphone dev knowledge, but i don't know what the problem is... Can anyone help me out?
Greets,
Thomas
I too have same problem, I've resolved it by adding CoreLocation.framework inside the Frameworks folder.
In that get info window, check the "full path" of the MapKit.framework package, then in a Terminal window use the "file" command to verify what architecture the library is. Should see something like:
file /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit: Mach-O universal binary with 2 architectures
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit (for architecture armv6): Mach-O dynamically linked shared library arm
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/Frameworks/MapKit.framework/MapKit (for architecture armv7): Mach-O dynamically linked shared library arm
Go to Targets -> Build Phases -> Add CoreLocation Framework.
精彩评论