升级XCode 9.3后无法通过Xamarin部署iOS应用至设备
解决XCode 9.3升级后Xamarin部署iOS设备失败(缺失DADocSetAccess框架)的方案
我之前也碰到过一模一样的糟心问题!升级XCode 9.3后,用Visual Studio 2017连Mac构建代理部署iOS应用直接炸了,就是提示找不到DADocSetAccess框架,折腾了好几种方法终于搞定,给你整理几个靠谱的解决思路:
方法一:修复XCode命令行工具关联
升级XCode后经常会出现命令行工具路径错位的情况,在Mac上打开终端,先检查当前路径:xcode-select -p如果返回的不是
/Applications/Xcode.app/Contents/Developer,就手动修正:sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer操作完重启Mac上的Xamarin Build Agent,再回到PC端的Visual Studio重试部署。
方法二:清理Xamarin缓存与构建文件
缓存堆积很容易导致这种框架加载异常:- 在PC端Visual Studio里,先点菜单栏
Build->Clean Solution,再右键项目选Clean - 到Mac上,删掉这几个目录的缓存:
~/Library/Caches/Xamarin~/Library/Developer/Xamarin- 项目根目录下的
bin和obj文件夹
- 重启两端的开发工具,重新构建部署。
- 在PC端Visual Studio里,先点菜单栏
方法三:验证XCode组件完整性
升级过程中可能会有组件丢失:- 打开Mac上的XCode,进入
Preferences->Locations,确认Command Line Tools选的是XCode 9.3 - 再点
XCode->Open Developer Tool->More Developer Tools,登录Apple开发者账号后,下载重装XCode 9.3对应的Command Line Tools组件 - 安装完成后重启XCode和Build Agent。
- 打开Mac上的XCode,进入
方法四:匹配项目与XCode的SDK版本
检查PC端项目的SDK设置:- 右键iOS项目 ->
Properties->iOS Build - 在
SDK version里选择Latest iOS (9.3)或者指定对应版本,确保和Mac上XCode的SDK版本一致 - 调试阶段可以把
Linker Behavior设为Don't link,先排除链接器的干扰
- 右键iOS项目 ->
补充排查:如果上面的方法都没用,试试在Mac上直接用XCode打开Xamarin生成的
.xcodeproj文件(一般在项目iOS目录下的obj/Debug/ios/路径里),直接部署到设备。如果XCode本身部署也失败,那大概率是XCode的问题,得彻底卸载重装XCode 9.3;如果XCode能正常部署,那就是Xamarin代理的配置问题,重启Mac上的Xamarin Agent服务,或者重新配对PC和Mac的连接。
内容的提问来源于stack exchange,提问作者Thomas




