Windows端Visual Studio中Xamarin.iOS项目Assets.xcasset保存失败咨询
解决Xamarin.iOS在VS中添加1024 App Store图标时的保存报错问题
我之前在Visual Studio里做Xamarin.iOS开发时,也碰到过一模一样的Assets.xcasset保存报错问题,给你几个亲测有效的解决思路:
方法1:手动修改Assets配置文件(最靠谱的绕开方案)
VS的Assets.xcasset编辑器有时候会有线程同步的bug,直接手动改配置文件能完美避开:
- 找到你项目里的
Assets.xcasset文件夹,进入里面的AppIcon.appiconset目录(或者你的自定义图标集目录) - 打开目录里的
Contents.json文件,在images数组末尾添加1024图标的配置项:{ "size": "1024x1024", "idiom": "ios-marketing", "filename": "AppStoreIcon.png", "scale": "1x" } - 把你准备好的1024x1024 PNG图标放进这个
AppIcon.appiconset目录,确保文件名和上面配置里的filename完全一致 - 回到Visual Studio,右键你的项目选择重新加载项目,这样VS会直接读取修改后的配置,不需要通过编辑器保存,也就不会触发那个枚举错误了
方法2:清除VS缓存修复编辑器问题
如果还是想用VS的可视化编辑器操作,可以试试清除VS的组件缓存:
- 先关闭Assets.xcasset的编辑窗口,然后完全退出Visual Studio
- 打开文件资源管理器,输入路径
%LOCALAPPDATA%\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache(比如VS2022的版本号可能是17.0_xxxxxx),删除这个目录下的所有文件 - 重启Visual Studio,重新打开项目后再尝试添加1024图标,这时候编辑器的缓存已经重置,大概率不会再报“Collection has been modified”的错误了
方法3:绕过本地项目,直接在App Store Connect上传图标
如果上面两种方法都没解决,你可以换个思路:
- 先忽略1024图标的问题,正常构建并上传IPA包到App Store Connect
- 登录App Store Connect后台,进入你的应用页面,找到App信息板块,在图标区域直接上传1024x1024的PNG图标,这样也能满足苹果的要求,不用在本地项目里折腾编辑器的bug
为什么会出现这个错误?
本质是Visual Studio的Xamarin.iOS Assets编辑器存在线程同步问题:当你在可视化界面添加图标时,后台正在执行的枚举操作和你的修改操作冲突,导致抛出“Collection has been modified; enumeration operation may not execute”的异常,手动修改配置或者清除缓存都能绕开这个bug。
内容的提问来源于stack exchange,提问作者Nesh
相关产品推荐
相关产品推荐

