1

我在我的应用程序中使用核心运动。此代码工作正常:

motionManager = [[CMMotionManager alloc] init];
int a = [CMMotionManager availableAttitudeReferenceFrames];

此代码因 EXC_BAD_ACCESS 崩溃,行上方有此注释:THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY _YOU_MUST_EXEC__

int a = [CMMotionManager availableAttitudeReferenceFrames];
motionManager = [[CMMotionManager alloc] init];

我可以通过使用语句的第一个顺序来解决这个问题,但是由于 availableAttitudeReferenceFrames 被定义为

+ (NSUInteger)availableAttitudeReferenceFrames

似乎我应该能够在实例化一个类之前访问该属性。为什么这不起作用?

4

1 回答 1

1

这是一个相当奇怪的错误。如果你打电话fork()然后尝试使用CoreFoundation,你应该只看到这一点。因为你不能fork()在 iOS 上,所以你不应该看到这个错误。

你能在一个非常小的示例项目中重现这个问题吗?如果可以,您应该向 Apple提交错误报告并附上示例项目。

于 2012-06-29T22:20:34.350 回答