Xamarin cannot build to device - Tool exited with code: 1. Output: error: The specified item could not be found in the keychain
Xamarin cannot build to device - Tool exited with code: 1. Output: error: The specified item could not be found in the keychain
我正在尝试在 Xamarin Mac 上的 Debug|iPhone 配置中构建一个 iOS 应用程序,但我得到:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: Error: Tool exited with code: 1. Output: error: The specified item could not be found in the keychain.
这一切都始于我不得不重置我的默认钥匙串并丢失了我的证书。我尝试通过以下方式修复它:
- 手动创建新证书(确保我 "Apple Worldwide Developer Relations Certification Authority" 按照建议从证书颁发机构请求证书时 here)
- 使用 xcode 8.3.1 创建证书(将此证书导出到另一个 machine 可以让我在那个 machine 上构建良好)
- 从我的旧钥匙串导入我的证书(每次我创建新证书时,我确保更新和下载配置文件)
- 正在从另一个 machine 上的另一个用户导出工作证书并将其导入我的 machine
- 正在卸载 Xamarin Studio,删除提及的文件夹 here,并安装 Xamarin Studio 6.1.3 + Xamarin.iOS 10.4.0.123(之前使用的是 6.1.3 + 10.2.1.5)
- 正在卸载 Xcode 8.1 并安装 Xcode 8.3.1
- 正在为 mac 安装 visual studio(这给了我一个不同的错误 "EnsureBindingRedirects task failed unexpectedly" - 可能是一个单独的错误)
在另一个 machine 上使用已知的工作 certificate/provisioning 配置文件组合时无法构建的事实让我认为 Xamarin 在构建时在查找证书时遇到问题,甚至尽管它在项目选项 -> iOS 捆绑包签名中看到了证书和配置文件。 Keychain 某处也可能存在问题。
如有任何帮助,我们将不胜感激。
我通过执行以下操作解决了这个问题:
security dump-keychain -d login.keychain
列出我钥匙串中的所有项目
注意到钥匙串访问中没有显示额外的证书
使用security delete-identity
删除了此项
完成了 diskutil resetUserPermissions / $(id -u)
并重新启动了我的 Mac
我不确定第 1-3 步是否有必要,所以如果您遇到这个问题,我会先尝试第 4 步,看看是否可行。
我在 mac 上使用 Visual Studio,我的解决方案是关闭 Visual Studio,然后在 visual studio 中注销 Apple 开发者帐户后重新启动它偏好。
我正在尝试在 Xamarin Mac 上的 Debug|iPhone 配置中构建一个 iOS 应用程序,但我得到:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: Error: Tool exited with code: 1. Output: error: The specified item could not be found in the keychain.
这一切都始于我不得不重置我的默认钥匙串并丢失了我的证书。我尝试通过以下方式修复它:
- 手动创建新证书(确保我 "Apple Worldwide Developer Relations Certification Authority" 按照建议从证书颁发机构请求证书时 here)
- 使用 xcode 8.3.1 创建证书(将此证书导出到另一个 machine 可以让我在那个 machine 上构建良好)
- 从我的旧钥匙串导入我的证书(每次我创建新证书时,我确保更新和下载配置文件)
- 正在从另一个 machine 上的另一个用户导出工作证书并将其导入我的 machine
- 正在卸载 Xamarin Studio,删除提及的文件夹 here,并安装 Xamarin Studio 6.1.3 + Xamarin.iOS 10.4.0.123(之前使用的是 6.1.3 + 10.2.1.5)
- 正在卸载 Xcode 8.1 并安装 Xcode 8.3.1
- 正在为 mac 安装 visual studio(这给了我一个不同的错误 "EnsureBindingRedirects task failed unexpectedly" - 可能是一个单独的错误)
在另一个 machine 上使用已知的工作 certificate/provisioning 配置文件组合时无法构建的事实让我认为 Xamarin 在构建时在查找证书时遇到问题,甚至尽管它在项目选项 -> iOS 捆绑包签名中看到了证书和配置文件。 Keychain 某处也可能存在问题。
如有任何帮助,我们将不胜感激。
我通过执行以下操作解决了这个问题:
security dump-keychain -d login.keychain
列出我钥匙串中的所有项目注意到钥匙串访问中没有显示额外的证书
使用
security delete-identity
删除了此项
完成了
diskutil resetUserPermissions / $(id -u)
并重新启动了我的 Mac
我不确定第 1-3 步是否有必要,所以如果您遇到这个问题,我会先尝试第 4 步,看看是否可行。
我在 mac 上使用 Visual Studio,我的解决方案是关闭 Visual Studio,然后在 visual studio 中注销 Apple 开发者帐户后重新启动它偏好。