4***@qq.com
4***@qq.com
  • 发布:2026-07-21 15:12
  • 更新:2026-07-21 15:16
  • 阅读:37

我做了一个iOS的插件,需要用到AppShortcutProvider,这个类必须要加到主target才能在编译时候被识别。放在framework或者.a中都是无法识别的。

分类:HBuilderX

我做了一个iOS的插件,需要用到AppShortcutProvider,这个类必须要加到主target才能在编译时候被识别。放在framework或者.a中都是无法识别的。
我采用的是iOS云打包的自定义基座,请教下,有什么方式可以给主target加入一个类吗?这个类不需要逻辑,只需要加入到主target编译就可以了。

另外:我的插件配置了hooksClass, 我发现- (BOOL)application:(UIApplication _Nullable)application continueUserActivity:(NSUserActivity _Nullable)userActivity restorationHandler:(void (^_Nullable)(NSArray * _Nullable))restorationHandler这个方法,没有被调用到。是我配置问题吗

2026-07-21 15:12 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( HBuilderX技术交流群 ) 咨询,群中有相关专业的管理员和群友。

针对您遇到的两个问题,以下是详细的分析和解决建议:

  1. 关于将类加入主 target 编译的问题
    在 iOS 云打包(自定义基座或正式包)模式下,您无法直接将自定义的源代码文件(如 .m 或 .swift 文件)添加到主 target 的编译源中。云打包引擎仅支持将原生插件打包为 framework 或 .a 静态库后集成到主工程中。
    如果 AppShortcutProvider 必须在主 target 中编译才能被识别,建议您改用 iOS 离线打包。在离线打包工程中,您可以完全控制 Xcode 工程,直接将该类的源文件拖入主工程并确保其被添加到主 target 的 Compile Sources 中。

  2. 关于 continueUserActivity 方法未被调用的问题
    根据原生插件开发规范,如果需要 Hook 系统事件,您需要新建一个 Proxy 类(例如 XXXXProxy),继承 NSObject 并遵守 UniPluginProtocol 协议,同时在 package.json 中正确配置 hooksClass。
    如果该方法未被调用,请按以下步骤排查:

  • 检查类配置:确认您配置的 hooksClass 类名是否正确,且该类是否继承了 NSObject 并遵守了 UniPluginProtocol 协议。
  • 重新打包基座:修改了原生插件代码或配置后,必须重新提交云端打包自定义基座,否则修改不会生效。
  • 检查触发条件:continueUserActivity 方法通常在通过 Universal Link 唤起 App 时触发。请确认您的 App 是否正确配置了 Universal Link,并且测试时是通过 Universal Link 跳转唤起的 App,而不是直接点击图标启动。如果直接启动 App,该方法不会被调用。
内容为 AI 生成,仅供参考
4***@qq.com

4***@qq.com (作者)

iOS 离线打包的话,我的项目中包含了之前很多sdk,有快捷的转变成离线打包的工程的途径吗

要回复问题请先登录注册