neh*_*ngh 2 frameworks private ios swift xcode9.2
我想出于研究目的(不是 App Store!)测试一些东西,我想在其中使用 Xcode 9.2 (iOS 11) 中的私有框架。为此,我需要将要使用的私有框架导入到我的 Xcode 项目中。
但是在 Xcode 9.2 中,文件夹结构私有框架文件夹不存在。
我可以通过什么想法来实现这一目标?
私有框架只是一个像公共框架一样的包。您可以使用以下命令显式加载它:
if let framework = Bundle(path: "/System/Library/PrivateFrameworks/BatteryCenter.framework") {
// Works only on real devices
framework.load()
}
Run Code Online (Sandbox Code Playgroud)
但是您需要包含类的声明。您可以使用class-dumpObjective C 标头创建它们,然后将跨桥标头导入 Swift。
你class-dump用class-dump /.../PrivateFrameworks/XXX.framework/XXX. 您需要将框架作为二进制而不是*.tbd文件。示例BatteryCenter.framework:
class-dump /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/BatteryCenter.framework/电池中心
这将为您打印框架中包含的所有类的类声明。
请注意,在您应该使用的设备或模拟器上
/System/Library/PrivateFrameworks/BatteryCenter.framework
Run Code Online (Sandbox Code Playgroud)
用于加载包。
| 归档时间: |
|
| 查看次数: |
2295 次 |
| 最近记录: |