当从同一个准备好的zip压缩包中构建相同的应用程序时(在Mac VS2019上),删除了bin和obj文件夹,并在构建前清理了解决方案,我得到了不同的IPA "档案"。
来自jenkins的那个 缺少Assets.car和应用图标,所以应用在加载过程中不会显示主屏幕图标和闪动。在_CopyResourcesToBundle目标期间,应该复制它给出的所有所需资产。
Building target "_CopyResourcesToBundle" partially, because some output files are out of date with respect to their input files.
因为它运行到部分状态,它可能没有复制所有需要的文件。
当构建 在当地 机器与Mac的VS2019(8.4.2)和Xcode(11.0)相同,无论使用IDE还是终端,都能给出正确的IPA文件。
Building target "_CopyResourcesToBundle" completely.
...
Output file "bin/iPhone/Release/RssReader.app/[email protected]" does not exist.
Output file "bin/iPhone/Release/RssReader.app/AppIcon76x76@2x~ipad.png" does not exist.
Output file "bin/iPhone/Release/RssReader.app/Assets.car" does not exist.
...
bin/iPhone/Release/RssReader.app/[email protected]
[email protected]
Optimize=false
OriginalItemSpec=obj/iPhone/Release/actool/bundle/[email protected]
OutputPath=bin/iPhone/Release/RssReader.app/[email protected]
bin/iPhone/Release/RssReader.app/AppIcon76x76@2x~ipad.png
LogicalName=AppIcon76x76@2x~ipad.png
Optimize=false
OriginalItemSpec=obj/iPhone/Release/actool/bundle/AppIcon76x76@2x~ipad.png
OutputPath=bin/iPhone/Release/RssReader.app/AppIcon76x76@2x~ipad.png
bin/iPhone/Release/RssReader.app/Assets.car
LogicalName=Assets.car
Optimize=false
OriginalItemSpec=obj/iPhone/Release/actool/bundle/Assets.car
OutputPath=bin/iPhone/Release/RssReader.app/Assets.car
以上部分在jenkins上构建时明显不存在。
这看起来像其他几个线程,当其他人正在为丢失资产而苦恼时,他们正在清除一些错误的Xamarin缓存文件夹,用rebuild添加和删除资产到项目中,清理和删除binobj文件夹。
这种情况是不一样的,因为app总是在tmp位置的清除工作空间上建立,并删除bin和obj文件夹,并在建立前进行清理。添加removing和移动资源的位置也没有用。
由于msbuild内部问题,无法在符号链接位置上构建应用程序。