【发布时间】:2014-03-02 20:38:42
【问题描述】:
如何访问在(预或实际)编译时从头文件中收集的 Objective-C 类接口定义,以便我可以提供对定义的公共接口真实的内省。
问题:F-Script、SuperDB、IKBClassBrowser、CBIntrospection 使用 class_copyPropertyList() 系列函数在运行时自省对象。虽然功能强大,但也有缺点……
- 运行时没有私有和公共的概念……一切都是 返回
- 我看不到访问 ObjC 类型的可靠方法 方法参数和返回
目标:我正在研究一个 iOS 应用程序,以帮助通过实时/即时开发环境教授编码(类似于 SmallTalk、F-Script、SuperDB、IKBClassBrowser、CBIntrospection)。我希望用户通过 VM 内省对象、发送消息、创建新对象以及构建和运行代码。 但我想将功能限制为公共功能(否则 Apple 不会批准该应用程序)并且 我想访问类型,所以我限制了用户只能传递合法对象.
我希望有某种方法可以访问 Clang 或 符号文件 来提取这些信息,以便我可以在运行时使用它。它不必完全自动化(我可能想在某些方面限制功能)
【问题讨论】:
标签: ios xcode clang objective-c-runtime f-script