【发布时间】:2020-07-13 03:34:01
【问题描述】:
我正在寻找一种在 Swift 代码中使用私有 Apple API 的方法(即_CFPreferencesCopyApplicationMap,它允许您查找用于任何给定应用程序的用户默认值的路径)。
请参阅this 答案以了解动机和 Objective-C 解决方案。我能够在 Objective-C 中使用以下代码做到这一点:
extern CFDictionaryRef _CFPreferencesCopyApplicationMap(CFStringRef userName, CFStringRef hostName);
我一直无法弄清楚如何在 Swift 中做同样的事情。我知道可以在运行时使用NSClassFromString 或NSSelectorFromString 动态访问ObjC 对象,但据我所知,这些不能与全局C 函数一起使用。 NSInvocation 似乎也出局了。
【问题讨论】:
-
你的做法是正确的。使用目标 C。
标签: swift macos nsuserdefaults core-foundation iphone-privateapi