iPhone iCloud 应用程序在 iOS 4 上编译时崩溃
我想使用 iCloud,但是当我在 iOS 4.3 模拟器上编译该应用程序时,它崩溃了。
dyld: 未找到符号:_OBJC_CLASS_$_NSMetadataQuery
我应该怎样做才能使其在 iOS 3、4 和 5 上工作?
I'd like to use an iCloud, but when I compile the app on iOS 4.3 Simulator it crashes.
dyld: Symbol not found: _OBJC_CLASS_$_NSMetadataQuery
What should I do to make it working on iOS 3, 4, and 5?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我的解决方案是:
NSMetadataQuery 更改为 id: ex
正常 : - (void)loadData:(NSMetadataQuery *)query;
更改为: - (void)loadData:(id)query;
正常:@property(保留,非原子)NSMetadataQuery *查询;
更改为:@property(保留,非原子)id查询;
并检查 iCloud 是否可用:
当使用 NSMetadataQuery 时:
玩得开心 (^_^)
my sulotion is:
Where have NSMetadataQuery change to id: ex
normal : - (void)loadData:(NSMetadataQuery *)query;
change to: - (void)loadData:(id)query;
normal: @property (retain, nonatomic) NSMetadataQuery *query;
change to: @property (retain, nonatomic) id query;
and check iCloud available:
When use NSMetadataQuery:
Have fun (^_^)
通常的方法是使用 iOS 5 SDK 进行编译,并将部署目标设置为您希望其使用的最旧的 iOS 版本。不过,您可以在运行时检查哪些类和方法可用于当前系统。例如,iOS 4 上的用户将无法使用仅随 iOS 5 一起提供的功能。
要检查类的可用性,请执行以下操作:
要检查方法的可用性,请执行以下操作:
The usual way would be to compile it with iOS 5 SDK and setting the deployment target to the oldest iOS Version you'd like it to work with. It's up to you though to check at runtime on which classes and methods are available to the current system. A user on iOS 4 for example will not be able to use functions that only ship with iOS 5.
To check the availability of classes do:
To check the availability of methods do:
这些 API 已随 ios5 一起启动,因此您无法在模拟器 4 或更低版本上运行它,但为了发布,您可以设置它应该支持的 ios 系列的最低部署目标。
These API has been launched with the ios5 so you cann't run it on the simulator 4 or below but for posting you can set the minimum deployment target of ios family it should support .