【发布时间】:2010-07-19 19:26:22
【问题描述】:
是否可以在应用程序中包含 iOS4 特定代码(即 MKMapView 覆盖),使用 4.0 构建,将部署目标设置为 3.0,并且只要不在 3 上调用 iOS4 代码,它仍然可以工作.x 设备?
我现在正在尝试这样做,并且仅在设备支持时才调用 iOS4 代码,但我无法安装它。 GDB 吓坏了。这是我为 iOS3 设备构建时得到的结果:
dyld: Symbol not found: _OBJC_CLASS_$_MKOverlayView
Referenced from: /var/mobile/Applications/1EE8EC13-FA01-43CB-A617-9B5D268ECD13/maps.app/maps
Expected in: /System/Library/Frameworks/MapKit.framework/MapKit
Data Formatters temporarily unavailable, will re-try after a 'continue'. (Not safe to call dlopen at this time.)
mi_cmd_stack_list_frames: Not enough frames in stack.
mi_cmd_stack_list_frames: Not enough frames in stack.
我希望此应用程序在 3.0 及更高版本上运行,并在 4.0 设备上使用新的 MKMapView 覆盖。
具体来说,我正在实现在 WWDC 上演示的平铺图像叠加代码,它使用实现 MKOverlay 协议的自定义 TileOverlay,以及作为 MKOverlayView 子类的自定义 TileOverlayView。
【问题讨论】: