【发布时间】:2015-03-29 11:31:57
【问题描述】:
我创建了一个捆绑目标,它的Info.plist 文件指定一个非常具体的类(我们称之为PrincipalClass)应该是它的主要类。这个类是用 Swift 编写的,并且有 @objc 属性。 Info.plist 文件已正确复制到包中,我已经多次清理和重建项目。
但是,当我从我的 Swift 框架加载包时,它的主类是一个不同的类(我们称之为NotPrincipalClass)。它没有被标记为@objc,事实上,它应该在包的内部。我在调试器中检查了bundle.bundleURL,包中的Info.plist 文件确实说它应该是PrincipalClass;但是当我检查bundle.infoDictionary 时,NSPrincipalClass 属性将NotPrincipalClass 读取为字符串! (信息字典还包含Info.plist 文件未指定的几个键,例如DTCompiler 等。)
如果我完全删除NotPrincipalClass,我会得到另一个内部类,它仍然完全不是我的主要类。
我彻底检查了构建日志,除了编译时,我没有看到提到 NotPrincipalClass。
什么可能导致这种情况?我能做些什么来解决它?
【问题讨论】: