我正在开发一款针对 Mac 和 iOS 的游戏,最近实现了游戏控制器支持。我为 PS4/XBox 控制器使用Game Controller (GC) 框架,为其他(Steelseries Nimbus 和非主流品牌)使用IOKit中包含的HID API,仅仅是因为他们的控制器似乎无法与 GC 框架一起使用。
提交审核后,该游戏被拒绝,理由是“该应用引用了非公共符号”,其中列出了游戏中使用的所有与 HID API 相关的功能,包括官方文档中认为对实现至关重要的功能,如:
https://developer.apple.com/documentation/iokit/1438383-iohidmanagercreate?language=objc https://developer.apple.com/documentation/iokit/1438369-iohidmanageropen?language=objc https://developer.apple。 com/documentation/iokit/1438399-iohidmanagerregisterdevicematchi?language=objc
我已就此联系 Apple 开发人员支持,但我收到的所有内容都是自动回复电子邮件,声明他们只能提供行政级别的支持,并建议我将此问题引导至论坛和社区,因此,我在这里。
如果您碰巧对此有替代解决方案或有任何类似问题的经验,请考虑留下答案或评论。
谢谢,
P/S:如果您有列出开发人员可以使用的公共 API 的来源,也请发表评论。我一直遵循“如果有文档,那么我可以使用”的想法,但在这次事件之后,情况似乎并非如此。