我正在尝试构建新的 IOS 版本并收到以下错误:
“C:\Program Files\Microsoft Visual Studio�2\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.After.targets(80,3):错误:解压缩文件 bin\iPhone\ 时出错AppStore\AppBundle\MyApp.zip:提取 Zip 条目将导致在指定目标目录之外生成文件。”
产生此错误的输出行是:-
"/usr/bin/zip -r /Users/fred/Library/Caches/Xamarin/mtbs/builds/MyApp/ca830d1e9af62a1e18d114cf402fd82be9cb814135209657390ffb486f0d0ee4/bin/iPhone/AppStore/AppBundle/MyApp.zip ../MyApp.app"
看起来,该过程不是返回到父目录然后压缩“MyApp.app”目录,而是创建一个以“..”为根目录、以“MyApp.app”为子目录的zip文件,这解释了上述错误。
我可以将调试版本部署到设备,但无法构建 AppStore 版本或执行存档过程。 我的项目之前使用 Visual Studio 2019 构建得很好,但我必须升级才能获得仅在 Visual Studio 2022 中更正的证书修复。
此问题有任何已知的修复方法吗?
我正在使用:
编译;
注释或删除此“解压”任务
<!--Unzip App Bundle on Windows-->
<Unzip Condition="Exists('$(DeviceSpecificOutputPath)AppBundle\$(_AppBundleName).zip')" ZipFilePath="$(DeviceSpecificOutputPath)AppBundle\$(_AppBundleName).zip" ExtractionPath="$(DeviceSpecificOutputPath)AppBundle\$(_AppBundleName)$(AppBundleExtension)" />
在文件中
..\Community\Msbuild\Xamarin\iOS\Xamarin.iOS.Common.After.targets
这里同样的问题。打开 MS dev com“Xamarin iOS 部署不再有效”。
我确实找到了适合我的东西。选择存档 iOS 构建并等待错误。选择“查看存档 + 失败的 iOS 构建”,点击“分发”,取消信用质询,点击“打开文件夹”,然后将 ipa 提交给 Apple。
谢谢你,fractal4,你的建议帮助我成功构建,但在尝试为应用程序商店存档时,同样的问题又出现了。 Xamarin 现在不再支持,但当我在 MAUI 平台上工作时遇到这个非常烦人的问题时,我需要推出一个小修复程序。 在我拔出头发并尝试了我能想到的一切之后,我终于删除了iOS项目,重命名了文件夹,创建了一个新的空白iOS项目,然后将所有文件复制回来,并将它们重新添加到项目中。 现在它已成功构建并存档。 我希望比较这些项目并指出实际问题是什么,但我发现新旧 .csproj 文件中的任何路径没有重大差异。 也许这是上演的事情? 无论如何,虽然我无法提供具体细节,但不幸的是,如果有人严重陷入这个问题,那么我很幸运走上了这条路。 创建一个空白的 iOS 项目,确保它可以构建——然后重新添加您的内容。 希望您能得到相同的结果。