我正在开发的应用程序将视频和音频文件保存到磁盘,然后将文件的 URL 和其他元数据保存到 Core Data 数据库中。我正在使用NSSearchPathForDirectoriesInDomains()
函数(参数:NSDocumentDirectory
, NSUserDomainMask
, YES
),将文件名附加到字符串,然后将其发送到 NSURL 的-initFileURLWithPath:
.
在所有迁移过程之后,我对托管对象模型进行了小幅更改。
在测试中,唯一不起作用的是使用早期版本捕获的视频和音频文件不会随更新播放。
例如:
- 测试人员从 App Store 下载 1.0 版本
- 测试员拍摄 3 个视频
- 测试人员能够播放这三个视频
- Tester 从 TestFlight 下载 1.0.1 版本
- 测试仪现在无法播放这三个视频
捕获和播放视频的代码在版本之间没有变化(我使用的是标准 MPMoviePlayerController)。
迁移中未修改 Core Data 托管对象模型实体“视频”(另一个实体是:“用户”)。
我的直觉是这是一个代码签名/配置文件/应用程序 ID 问题。如果我执行上述步骤,但不是从 TestFlight 下载 1.0.1,而是在 Xcode 中构建和运行,我没有问题。我已经使用分发证书对 1.0.1 构建进行了代码签名,并且使用与 App Store 版本相同的 App ID,唯一显然我不能做的就是使用 App Store 配置文件对 TestFlight 构建进行签名。
我能做些什么?