首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将私有框架导入Xcode 9.2 (iOS 11)

如何将私有框架导入Xcode 9.2 (iOS 11)
EN

Stack Overflow用户
提问于 2018-03-23 05:25:00
回答 1查看 2.6K关注 0票数 2

我想为了研究目的测试一些东西(不是App!)其中我想使用Xcode 9.2 (iOS 11)中的私有框架。为此,我需要将我希望使用的私有框架导入到我的Xcode项目中。

但在Xcode 9.2中,文件夹结构中不存在私有框架文件夹。

有什么想法可以让我做到吗?

EN

回答 1

Stack Overflow用户

发布于 2018-03-23 05:32:40

私有框架只是一个包,就像一个公共框架。您可以使用以下内容显式地加载它:

代码语言:javascript
复制
if let framework = Bundle(path: "/System/Library/PrivateFrameworks/BatteryCenter.framework") {
    // Works only on real devices
    framework.load()
}

但是您需要对包含的类进行声明。您可以使用class-dump作为目标C头创建它们,并将over桥接头导入Swift中。

使用class-dump执行class-dump /.../PrivateFrameworks/XXX.framework/XXX。您需要框架作为二进制文件,而不是作为*.tbd文件。BatteryCenter.framework示例

类转储/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/BatteryCenter.framework/BatteryCenter

这将为框架中包含的所有类打印类声明。

注意,在设备或模拟器上,您应该使用

代码语言:javascript
复制
/System/Library/PrivateFrameworks/BatteryCenter.framework

用来装包裹的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49442883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档