开发者

iPhone Simulator vs iPhone OS testing: file is not of required architecture

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜