iOS 中不允许私人 API 调用(函数 "exc_server")

Private API call not allowed in iOS (function "exc_server")

我的 iOS 应用程序(使用 Boehm 垃圾收集器)由于一个私有 API 函数调用而在 AppStore 中被拒绝。这里是文件 os_dep.c:

中的违规函数
/* These are not defined in any header, although they are documented */
extern boolean_t
exc_server(mach_msg_header_t *, mach_msg_header_t *);

此处 link 文件:os_dep.c on github

我试图注释掉函数 definitioncall,应用程序似乎 运行 很好,但那是一个非常糟糕的黑客。

我的问题:这个函数调用很关键吗? iOS真的需要吗?

该函数仅在通过GC_enable_incremental()调用启用的增量GC模式下需要。我怀疑你没有调用它,所以 exc_server() 和朋友不会在应用程序中调用。

与其注释掉 exc_server(),我建议您传递“-D GC_DISABLE_INCREMENTAL”,这会从收集器二进制文件中删除增量模式支持。