14 FAQ
14.1 demo 中使用私有 api 上架被拒
问题:违反苹果审核条款 2.5.1 中的说明,关键字:App-Prefs:root=
解决:2.4.0 及以下版本 demo 中使用了苹果私有 api,造成 App 审核被拒可修改以下代码(PLVVodPlayerSkin.m)
NSURL *settingURL = [NSURL URLWithString:@"App-Prefs:root=Privacy&path=PHOTOS"];
更新为
NSURL *settingURL = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
14.2 在 iOS 9 及以上版本中运行企业版应用
在 iOS 9 中及以后的版本中,苹果对企业签名的应用运行时,进行了更严格的限制。因此,在 iOS 9 中,企业签名后的应用安装好之后,是无法直接启动的。默认情况下,在 iOS 9 中运行一款企业签名的应用时,会弹出这样的提示:

可以看到,应用不再是像之前的版本那样直接启动,而是弹出了一个安全提示。此时,如果我们确认要运行的应用是安全的,可以按照以下步骤来设置:
在系统中打开 设置 - 通用 - 描述文件与设备管理(在iOS 9.2以后叫:设备管理),此时,可以看到有一个和刚刚弹出的提示中文字类似的描述文件。然后,点击对应描述文件进入后,再点击按钮 信任,来让系统允许拥有这个证书的应用运行。
之后,我们就可以回到桌面,重新运行刚才的应用,就会发现应用可以正常打开了。
完整的步骤,如下图所示:

14.3 阿里 httpdns 库冲突问题解决
第一步: 集成不带 HttpDNS 库的点播 SDK 版本
点播 SDK v2.8.1 版本之前:
pod 'PolyvVodSDK/NoAliLib', '~>2.8.0'
点播 SDK v2.9.0 版本之后
pod 'PolyvVodSDK/NoAli', '~>2.9.0'
第二步:将以下三个点播 SDK 所需要的 HttpDNS 依赖库根据冲突情况单独集成:
'PolyvAliHttpDNS/AlicloudHttpDNS', '~> 1.7.4'
'PolyvAliHttpDNS/AlicloudUtils', '~> 1.7.4'
'PolyvAliHttpDNS/UTDID', '~> 1.7.4'
举例:
如果客户既集成了点播 2.9.1 SDK,又集成了支付宝 SDK(包含 UTDID),则解决冲突的集成方案如下,
pod 'PolyvVodSDK/NoAli', '~>2.9.0'
pod 'PolyvAliHttpDNS/AlicloudHttpDNS', '~> 1.7.4'
pod 'PolyvAliHttpDNS/AlicloudUtils', '~> 1.7.4'
14.4 如何修改倍速选项
旧版点播 iOS SDK 的倍速“选项列表”属于 Demo 皮肤 UI 层配置。如果你使用旧版 Demo 自带的皮肤(速率选择面板 PLVVodPlaybackRatePanelView),需要修改倍速面板里维护的 playbackRates 数组,来新增/删除/调整倍速档位。
下面以 新增 2.5 倍速 为例说明。
步骤说明
- 步骤 1:修改
PLVVodPlaybackRatePanelView.m的playbackRates
文件路径:
polyv-ios-vod-sdk-demo/PolyvVodSDKDemo/PolyvOpenSourceModule/Skin/View/PLVVodPlaybackRatePanelView.m
修改前:
if (@available(iOS 16.0, *)) {
self.playbackRates = @[@0.5, @0.75, @1.0, @1.25, @1.5, @2.0, @3.0];
} else {
self.playbackRates = @[@0.5, @0.75, @1.0, @1.25, @1.5, @2.0];
}
修改后:在 2.0 和 3.0 之间插入 2.5(建议保持升序)
if (@available(iOS 16.0, *)) {
self.playbackRates = @[@0.5, @0.75, @1.0, @1.25, @1.5, @2.0, @2.5, @3.0];
} else {
self.playbackRates = @[@0.5, @0.75, @1.0, @1.25, @1.5, @2.0];
}
完成修改后,重新编译运行 Demo,即可在速率选择面板中看到新增的 2.5x 选项。
相关说明
- 倍速生效方式:旧版 SDK 通过
PLVVodPlayerViewController.playbackRate来设置倍速;setter 内部会同步到mainPlayer.playbackRate,并通知皮肤层刷新显示。 - 系统倍速限制:旧版 SDK 内部对
iOS 16以下做了保护逻辑(读取playbackRate时最高按2.0处理),因此若你希望提供2.5x/3.0x,建议仅在iOS 16+的档位列表中开放。
