gpt4 book ai didi

iphone - iOS 3 设备上的 iOS 4 代码

转载 作者:行者123 更新时间:2023-12-03 19:16:14 25 4
gpt4 key购买 nike

是否可以在应用程序中包含 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 协议(protocol)的自定义 TileOverlay 和自定义 TileOverlayView 它是 MKOverlayView 的子类。

最佳答案

您需要将基础 SDK 设置为 4.0,并将部署目标设置为 3.0 进行构建。

然后,当尝试使用仅存在于 4.0 中的类时,请使用 NSClassFromString("MKOverlayView") 或任何名称。如果该类不存在,则返回 nil。

Matt Gallagher 的这篇文章针对这种情况提供了更详细的提示:

http://cocoawithlove.com/2010/07/tips-tricks-for-conditional-ios3-ios32.html

关于iphone - iOS 3 设备上的 iOS 4 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3284307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com