如何为bundle设置principal class
如何为Bundle设置Principal Class
Principal Class的配置规则和对应的字符串格式如下:
- 配置入口:你需要在对应bundle的Info.plist文件中新增
NSPrincipalClass键,直接给这个键赋值目标主类的字符串即可。 - 字符串格式规则:
- 若目标主类是Objective-C编写的,直接填写类名的纯字符串即可,示例值:
CustomBundleEntry - 若目标主类是Swift编写的,需要按照
模块名.类名的格式拼接字符串填写,示例值:如果你的bundle对应的模块名为MyPlugin,Swift类名为PluginEntry,则填写MyPlugin.PluginEntry
- 若目标主类是Objective-C编写的,直接填写类名的纯字符串即可,示例值:
- 验证方式:配置完成后,直接调用
Bundle(URL: yourBundleURL)?.principalClass即可拿到加载完成的主类对象,不需要自己手动解析Info.plist取值。
踩坑提示:如果配置后读取不到主类,先检查两点:一是目标类的Target Membership是否正确归属到对应bundle;二是Swift编写的主类需要添加
@objc修饰、或者继承自NSObject类,才能被运行时正确识别为合法的Principal Class。
内容的提问来源于stack exchange,提问作者Bartosz
相关产品推荐
相关产品推荐

