首页 > 其他分享 >使用bundler自动化构建Xcode项目时遇到的问题。

使用bundler自动化构建Xcode项目时遇到的问题。

时间:2024-04-05 19:22:31浏览次数:12  
标签:Info Users Moments Xcode bundler 自动化 wjw plist

报错信息:
Multiple commands produce '/Users/wjw/Library/Developer/Xcode/DerivedData/Moments-dgddojujkmrazagmddjvfywoqzwo/Build/Products/Debug-iphonesimulator/Moments.app/Info.plist':

  1. Target 'Moments' (project 'Moments') has copy command from '/Users/wjw/Documents/Projects24/swift/Moments/Moments/Info.plist' to '/Users/wjw/Library/Developer/Xcode/DerivedData/Moments-dgddojujkmrazagmddjvfywoqzwo/Build/Products/Debug-iphonesimulator/Moments.app/Info.plist'
  2. Target 'Moments' (project 'Moments') has process command with output '/Users/wjw/Library/Developer/Xcode/DerivedData/Moments-dgddojujkmrazagmddjvfywoqzwo/Build/Products/Debug-iphonesimulator/Moments.app/Info.plist'

警告信息:
duplicate output file '/Users/wjw/Library/Developer/Xcode/DerivedData/Moments-dgddojujkmrazagmddjvfywoqzwo/Build/Products/Debug-iphonesimulator/Moments.app/Info.plist' on task: ProcessInfoPlistFile /Users/wjw/Library/Developer/Xcode/DerivedData/Moments-dgddojujkmrazagmddjvfywoqzwo/Build/Products/Debug-iphonesimulator/Moments.app/Info.plist /Users/wjw/Documents/Projects24/swift/Moments/Moments/Moments/Info.plist

在构建我们的Target时,命令从项目源代码里的Info.plist 被copy到了Xcode/DerivedData/.../Monments.app/Info.plist 这一步骤被执行了两次。

苹果开发者论坛里有前辈遇到过这些问题
https://forums.developer.apple.com/forums/thread/129896

使用bundler 自动化构建脚本的时候,bundler会自动拷贝一份 info.plist 到 project.bundlePhase files。
大佬给出的方案是在buildPhase 构建脚本中加入以下语句。

#!/bin/bash
bN=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
bN=$((bN += 1))
bN=$(printf "%d" $bN)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $bN" "$INFOPLIST_FILE"

以上方法对我来说并没有作用
我又找到stackoverflow上面相关资料,

需要把 Target -> build phases中 -> copy Bundle Resources 中的Info.plist删除掉。
程序可以正常构建成功了!

标签:Info,Users,Moments,Xcode,bundler,自动化,wjw,plist
From: https://www.cnblogs.com/wjw-blog/p/18115883

相关文章

  • 10个全面了解python自动化办公代码
    10个全面了解python自动化办公代码当涉及自动化工作时,Python是一种非常强大的编程语言.以下是10个用于自动化工作的Python代码示例:文件操作:自动化文件操作可以帮助您批量处理文件、筛选内容等等. import os# 遍历目录下所有文件for root, dirs, files in ......
  • java自动化——web自动化复习
    之前复习整理: 模块1:https://www.cnblogs.com/xiaobaibailongma/category/1634188.html?page=3 模块2:https://www.cnblogs.com/xiaobaibailongma/category/1643583.html?page=5   =======================================================================   ......
  • Linux项目自动化构建工具 --- make/Makefile
    文章目录make/Makefile文件1背景2理解2.1创建执行代码2.2创建makefile文件2.3运行make指令2.3.1依赖关系2.3.2依赖方法2.3.3原理2.4项目清理make/Makefile文件1背景会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文......
  • 《手把手教你》系列技巧篇(六十九)-java+ selenium自动化测试 - 读取csv文件(详细教程)
    1.简介 在实际测试中,我们不仅需要读取Excle,而且有时候还需要读取CSV类的文件。如何去读取CSV的文件,宏哥今天就讲解和分享一下,希望对你能够有所帮助。前面介绍了如何读取excel文件,本篇介绍如何读取vsc文件,同样需要用到第三方lib去处理读取csv文件的数据。2.什么是CSV?csv是【......
  • 《手把手教你》系列技巧篇(七十)-java+ selenium自动化测试-Java中如何读取properties配
     1.简介Java自动化测试开发中,需要将一些易变的配置参数放置再XML配置文件或者properties配置文件中。然而XML配置文件需要通过DOM或SAX方式解析,而读取properties配置文件就比较容易。因此今天宏哥讲解和分享如何读取properties配置文件的内容。2.properties文件......
  • python自动化——pytest
    pytest,之前复习整理:https://www.cnblogs.com/xiaobaibailongma/category/1947423.html                                                 123......
  • Appium无线自动化实用教程
    文章目录简介核心特点工作原理使用Appium进行自动化测试的一般步骤环境设置安装和启动AppiumServer使用Node.js和npm安装AppiumServer:启动AppiumServer:命令行启动使用AppiumDesktop安装和启动AppiumServer:使用代码启动appiumserver编写测试代码测试工程的代码......
  • PowerShell和DISM命令的组合用法,用于进行 Windows 映像的管理、部署和维护。通过结合
    PowerShell和DISM(DeploymentImageServicingandManagement)命令可以结合使用来进行Windows映像的部署、安装、更新和配置等操作。以下是一些常见的PowerShell和DISM命令的组合用法:安装和更新Windows功能:使用 Install-WindowsFeature cmdlet安装Windows功能,结合DISM......
  • 【群晖】NASTOOL-自动化处理影音视频工具
    【群晖】NASTOOL-自动化处理影音视频本文主要从获取、部署、使用、配置等方面进行手把手教学如何使用nastool工具进行影音视频自动化处理。从此靠别繁琐的网上各个网址找资源-下载-复制-改名-刮削等操作。准备DSM7.1(我使用的是群晖7.1系统,不管是白群还是黑群都是可......
  • 第十一篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python自动化操
    传奇开心果博文系列系列博文目录Python自动化办公库技术点案例示例系列博文目录前言一、重要作用二、Python操作PDF文件转Word文档介绍三、提高效率示例代码四、保持一致性示例代码五、精确度与质量控制示例代码六、适应复杂需求示例代码七、可扩展性与与集成性示例代码......