集成时常见问题
集成 SDK 的最低配置是什么?
TCMPP 小程序 SDK 支持 iOS 9 以及 iOS 9以上,低于iOS 9的系统版本不支持。
XCode 15 上编译后,在 ios12 及以下设备上出现崩溃问题
在项目编译选项中添加 -Wl,-ld_classic 配置。
集成 SDK 后对安装包的大小有什么影响
TCMPP SDK 使用核心库和扩展库的方式,方便使用者根据自己的需要来集成 SDK,在只集成核心库的情况下,对整体安装包的大小影响在4M 左右。
使用时常见问题
小程序启动失败排查
小程序启动失败,可能有如下几种原因:
原因一:配置文件路径错误,如果配置文件在子目录下需要追加目录路径,例如:server/tcmpp-ios-configurations.json。
原因二:不允许修改小程序配置文件内容,否则小程序无法正常运行。
原因三:配置文件中的 bundleId 必须与应用的 bundleId 保持一致,否则 App 运行失败,因为初始化时会校验配置文件中的 bundleId。
是否支持小程序某页面完全隐藏导航栏?如果支持,该如何实现?
答:支持。
像微信、支付宝、百度等小程序的 navigationStyle有 default/custom 两个值,而 TCMPP 小程序 SDK 在此基础上,新增了一个 hide,即有 default/custom/hide 三个值。
所以在需要隐藏导航栏的页面,设置 navigationStyle 为 hide 即可。
如何设置灰度发布条件?
宿主应用开发者可以通过 SDK 提供的方法设置用户的属性信息(地区或者账号),方便在灰度推送等场景下使用。
设置用户 ID
- (void)updateCustomizedUserID:(nullable NSString *)customizedUserID;
设置位置信息
// 上报位置信息
// Report location information
// @param country 国家 - country
// @param province 省 - province
// @param city 市 - city
- (void)updateAreaInfoWithCountry:(nullable NSString *)country Province:(nullable NSString *)province City:(NSString *)city;
[[TMFMiniAppSDKManager sharedInstance] updateCustomizedUserID:@"abc123"];
[[TMFMiniAppSDKManager sharedInstance] updateAreaInfoWithCountry:@"中国" Province:@"北京市" City:@"朝阳区"];
是否支持数据上报时上报到三方服务?
支持 App 将小程序数据上报到任意服务,详细可参见日志与事件上报 部分。 小程序是否支持不同登录用户的数据隔离?
支持。
TCMPP SDK 支持小程序的数据根据不同的登录用户进行隔离存储,进行数据保护及业务逻辑的混乱,需要开发者在代理中实现返回AppUID,SDK 根据 AppUID 进行数据存储。
- (NSString *_Nonnull)getAppUID;
小程序打开时如何传递参数?
打开小程序时可以通过指定paramsStr参数:
[[TMFMiniAppSDKManager sharedInstance] startUpMiniAppWithAppID:@"mpbz0uqwzddj5zbt" scene:TMAEntrySceneNone firstPage:nil paramsStr:@"a=1&b=2" parentVC:self completion:^(NSError * _Nullable err) {
}];
在小程序中可以在 wx.getEnterOptionsSync 的 extendData字段获取打开时传入的参数:
调试相关
如何调试小程序?
在集成小程序 SDK 后,Xcode 运行起小程序后(使用 develop profile 打包的应用也可以使用电脑 Safari 查看),可以打开电脑 Safari,然后在工具栏开发 中,选中运行的模拟器或者真机设备,就可以选择小程序打开的页面列表,选中当前打开的页面,就可以审核页面元素、查看网络调用,以及一些 log 日志等。
在 ios16.4后,因为系统限制,需要打开 inspectable 才能支持进行 safari 开发模式,可以在代理类中实现相关接口,返回 YES。
- (BOOL)inspectableEnabled;
如何开启 vConsole?
开发版与预览版小程序支持通过胶囊菜单中打开调试开关查看 VConsole 信息,正式版本小程序无法打开 VConsole,需要小程序内部通过调用 wx.setEnableDebug 来打开 VConsole。
TCMPP SDK 也支持在 App 设置自动打开所有小程序的 vConsole 模式,需要在代理类中实现相关的接口。
小程序打开异常时如何排查?
打开小程序时,可在小程序回调接口中获取错误代码及错误描述,错误描述中包含当前请求的traceId,建议使用方保存该错误信息,方便进行问题排查。
本页内容是否解决了您的问题?