objective-c - 在分配实例之前尝试访问静态属性时发生崩溃

标签 objective-c ios cmmotionmanager

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

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

看来我应该能够在实例化一个类之前访问该属性。为什么这行不通?

最佳答案

这是一个相当奇怪的错误。如果您调用 fork() 然后尝试使用 CoreFoundation,您应该只会看到这一点。由于您不能在 iOS 上使用 fork(),因此您永远不会看到此错误。

你能在一个非常小的示例项目中重现这个问题吗?如果可以的话,你应该file a bug report与 Apple 合作并附上示例项目。

关于objective-c - 在分配实例之前尝试访问静态属性时发生崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269650/

相关文章:

ios - 为什么在 View Controller 被取消初始化并导致 SIGABRT 或 EXC_BAD_ACCESS 后观察者还活着?

ios - 让 AVAudioEngine 重复一个声音

iphone - 使用 CMMotionManager iPhone 的生涩 Action

ios - Swift CoreMotion 后台节省电池

ios - 另一个 UItableviewCell 中的 UItableview

iphone - 如何使用 NSData 或使用数据字节 objective-c 生成 pdf?

ios - 如何根据其内在内容调整 View 大小?

ios - 尝试发布 Pod 后出现错误 'xcodebuild: Returned an unsuccessful exit code'

ios - 错误 : Unexpected end of multipart data] storageErrors: [] in express. js-iOS (Objective-C) 应用程序

ios - 加速度计数据始终为负