使用 Google MLKit cocoapods 的 iOS Ad-hoc 分发
Posted
技术标签:
【中文标题】使用 Google MLKit cocoapods 的 iOS Ad-hoc 分发【英文标题】:iOS Ad-hoc Distribution with Google MLKit cocoapods 【发布时间】:2020-11-13 12:34:40 【问题描述】:在我的 ios 应用程序中使用 Google MLKit
框架时遇到问题。我使用 Ad-hoc OTA 分发在选定的测试设备上测试应用程序。在我通过 cocoapods 添加Google MLKit
之前,它工作得很好,我不确定是什么原因。一切都正确编译,存档生成时没有错误,但是当测试人员想要下载应用程序时,它会在“安装”阶段崩溃并显示“无法安装...”警报。
我已经尝试过的几件事:
将 pod 嵌入类型从“嵌入并签名”更改为“嵌入但不签名” 将Release
方案的 pod Build Settings
中的签名从“Apple Developer”更改为“Apple Distribution”
在 MLKit pod 中启用和禁用 Bitcode
奇怪的是,它可以从我用来直接从 Xcode 测试它的设备上的 Ad-hoc OTA 正确下载(但我在从服务器下载之前删除了该应用程序)但在任何其他设备上都不起作用.
【问题讨论】:
苹果有一个叫做“console”的mac应用,不记得有没有默认安装。获取其中一台无法使用的设备,在打开控制台的情况下将其连接到您的 Mac。尝试进行安装,详细的错误应该显示在控制台中。如果它在您的设备上运行而不是在其他人的设备上运行,则可能是某种签名问题,例如您的手机上安装了其他人没有的证书。 谢谢@SimonMcLoughlin!这给了我更多的信息。错误说:“无法验证 /var/installd/Library/Caches/com.apple.mobile 的代码签名......。找不到此可执行文件的有效配置文件。”。有没有办法为 Pod 添加我的临时配置文件,以便它们可以在 Ad-hoc 分发中工作?当我在 Xcode 中检查此框架时,它会显示:“Provisioning Profile: None Required” 使用 cocoapods 时,您不需要修改任何这些设置。当您包含 cocoapods 时,它会为您提供一个工作区并将您的项目放入其中。您应该在工作区上设置配置文件和团队等。这样做和所有默认的 cocoapods 设置都应该没问题 也许可以重新开始你的项目以避免任何冲突的设置,除非这个 pod 有一些独特的东西(应该在他们的设置指南中提到),你不应该用豆荚。使用 cocoapods 查看我的项目,当我选择项目并在常规选项卡中选择主要目标时。我的 cocoapods 框架“Pods_要查找具体的错误详情:
苹果有一个名为“console”的mac应用程序,不记得它是否默认安装。获取其中一台无法使用的设备,在打开控制台的情况下将其连接到您的 Mac。尝试进行安装,详细的错误应该显示在控制台中。如果它在您的设备上运行而不是在其他人的设备上运行,则可能是某种签名问题,例如您的手机上安装了其他人没有的证书。
解决配置问题:
转到您的项目,在常规选项卡下选择主要目标。向下滚动到“框架、库和嵌入式内容”。确保名为“Pods_|project-name|.framework”的 cocoapods 库设置为“Do Not Embed”
【讨论】:
以上是关于使用 Google MLKit cocoapods 的 iOS Ad-hoc 分发的主要内容,如果未能解决你的问题,请参考以下文章
如何为 MLkit 面部检测实现 CMSampleBuffer?
Google 登录 CocoaPods 在 Swift 中安装?
MLKit Firebase android - 如何将 FirebaseVisionFace 转换为图像对象(如位图)?