为啥 xamarin 突然不让我部署到 iOS 设备
Posted
技术标签:
【中文标题】为啥 xamarin 突然不让我部署到 iOS 设备【英文标题】:why does xamarin suddenly not let me deploy to iOS devices为什么 xamarin 突然不让我部署到 iOS 设备 【发布时间】:2015-03-28 16:13:26 【问题描述】:在我收到来自 xcode 的消息同意新的 t&c 后,今天才开始发生这种情况。
我无法在设备上、我的任何计算机上放置任何东西。
不适用于我的 macbook,不适用于我的 mac mini,不适用于直到昨天还运行良好的现有项目,甚至不适用于全新的项目。 我不断收到消息:
writeDictToFile:1241 打开失败 /Users/georgecook/Desktop/test/ios/obj/iPhone/Debug/mtouch-cache/install-shadow-directory/339bee33bc83c8e05fbd004dcc732c0b/20715d40747e047ba8a4ce4c1d2672ef90161df5/ManifestCache.plist : 没有这样的文件或目录 MDMCacheDirectoryManifest:1315 writeDictToFile 无法写入 /Users/georgecook/Desktop/test/iOS/obj/iPhone/Debug/mtouch-cache/install-shadow-directory/339bee33bc83c8e05fbd004dcc732c0b/20715d40747e047ba8a4ce4c1d2672ef90161df5/ManifestCache.plist : 没有这样的文件或目录错误 MT1006: 无法安装 应用 '/Users/georgecook/Desktop/test/iOS/bin/iPhone/Debug/test.iOS.app' on 设备 Gandalf the white:您的应用程序代码签名失败 检查。检查您的证书、配置文件和捆绑包 身份证。您的设备可能不是所选配置的一部分 配置文件(错误:0xe8008015)。
不知道为什么会突然发生这种情况——这真的不好——如何解决这个问题?
【问题讨论】:
【参考方案1】:我最近也被这个绊倒了。
关键是这部分信息:
您的应用程序未通过代码签名检查。检查您的证书、配置文件和捆绑包 ID。您的设备可能不是所选配置文件的一部分
您的配置文件可能已过期。解决这个问题的最简单方法是启动 Xcode,创建一个空项目,然后点击 Run。这将遍历一系列对话框,让您在部署之前修复您的配置文件。一旦发生这种情况,您可以切换回 Visual Studio/Xamarin Studio 并进行部署。
【讨论】:
这样的痛苦......浪费了半天时间,部分原因是几乎没有任何说明是明确的。试试这个:Xcode / Preferences / Accounts / View Details / Download All(刷新所有证书)。确保您选择了正确的团队名称,或者全部完成,因为谁知道还有什么已经过期。 我遇到了这个问题,因为我的公司电子邮件与我的个人帐户和公司帐户相关联。我通过在 Visual Studio(YourApp.IOS>Properies>Bundle Signing > Manage Accounts)和 XCode(Signing& Capabilities > Team)中删除和重新添加帐户来修复。重新添加我的帐户后,团队 guid 在 VS 中更新为正确的。我还必须从 iphone 中删除现有的应用程序。【参考方案2】:发生这种情况的一个原因是如果您在 XCode 中设置了多个开发人员帐户。以下是步骤
-
验证您的设备是否在 Apple 会员中心
验证您的设备是相关配置文件的一部分
为每个帐户重复第 1 步和第 2 步
在 XCode 中创建一个新项目并在设备上运行它。 XCode 可能会要求您选择团队(如果您有多个帐户)
如果您在 XCode 中设置了多个开发人员帐户(团队),则每次使用新项目重复第 4 步并每次选择不同的团队。
这些步骤可确保 XCode 为 Xamarin 扫清障碍。这个想法是 Xamarin 不允许您决定使用哪个“团队”,因此您要确保 XCode 已为每个团队完成设置。
【讨论】:
【参考方案3】:我刚刚遇到了这个ManifestCache.plist : No such file or directory
问题。我检查了设备日志 (View -> Pads -> iOS Device Log
) 以了解它发生的原因。日志说它拒绝升级。升级,我心想,这听起来不对……然后我记得我的 iPhone 上有一个应用程序,与我忘记卸载的以前版本相同的标识符 to.dima.application
。删除旧应用程序为我解决了这个问题。希望这可以帮助其他有同样问题的人! :)
【讨论】:
【参考方案4】:有效!我找到了解决方案。我面临同样的问题。不知何故,Xamarin 中存在错误配置。 entitlements.plist 的手动输入有误。证书会检查其中的所有值,如果你有一个手动条目,它就不再工作了。 Apple 正在以某种方式只搜索他们需要的自己的条目。
【讨论】:
aps-environment - entitlements.plist 中的开发或生产【参考方案5】:我花了一些时间在开发者门户上找出问题,它是由于分发 APNS 或开发而发生的。在恢复所有配置文件和证书后,它没有修复,.在我的情况下,解决方案是让 Xamarin 选择签名配置文件。我没有使用 info.plist 自动签名,它也没有解决,但是 更改项目 -> iOS 捆绑签名 -> 签名身份,自动配置文件 解决了开发和生产案例的所有问题。
【讨论】:
【参考方案6】:我遇到了同样的问题,因此我打开了 Xcode 并更新了我的所有配置文件,但什么也没发生。因此,我在开发人员门户中将设备 UDID 添加到了我正在为其开发的团队,转到 Xcode 并再次更新配置文件,然后它就可以工作了。不知道是否必须注册设备才能构建到设备,或者这触发了我的配置文件的其他一些更新,突然使它工作。
【讨论】:
【参考方案7】:今天,他们发布了 Apple 开发者许可协议的新修订版。 错误消息与 OP 的基本相同。真正的原因只有在 Mac 上的 XCode 中创建新项目时才变得明显,其中更多有用的警告显示在“常规”选项卡的“部署信息”部分。
我必须登录到 apple.developer.com,有一个红色面板要求我接受新的许可条件,一旦我这样做了,从 Xamarin 部署应用程序立即再次工作。
【讨论】:
以上是关于为啥 xamarin 突然不让我部署到 iOS 设备的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Xamarin Forms 对所有页面使用一个 Activity
Xamarin.iOS 为啥在设备上调试时 HKAnchoredObjectQuery 处于非活动状态然后停用?