从命令行创建 IPA 时,为什么我的构建阶段脚本不会被执行?

2023-12-26

问题 - 简短版本:

为什么我的构建不会phase scripts从命令行创建 IPA 时执行? 当我跑步时xcodebuild创建预定义的 IPA构建阶段脚本不会被执行。这是为什么?


问题-冗长版本:

我有一个工作区,其中有一个方案,我想从命令行创建 IPA。

除了一件事之外,这一切都很好;我在目标的构建阶段有两个脚本,用于放置正确的应用程序版本(CFBundleShortVersionString)和正确的 svn 修订号(CFBundleVersion)。从 xcode 归档时,这些脚本工作正常,但由于某种原因,从命令行归档时它们无法运行。 首先这是为什么呢?

Here are the scripts that are working (if archiving form xCode) enter image description here enter image description here

当从命令行归档和创建 IPA 时,我会这样做(要点)

# Building
xcodebuild ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release clean build

# Creating IPA
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILD_DIR}/${APPLICATION_NAME}.app" -o "${IPA_OUTPUT_PATH}/${APPLICATION_NAME}.ipa"

它可以工作并创建一个 IPA,但没有任何构建阶段脚本被执行,修订号和版本号都保持不变。

感谢所有建议!

根据 BDASH 的回答进行更新

我没有进行干净的构建,而是进行了安装

xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release

事实上,预定义的脚本将被执行(可以在项目版本号中看到),并且在安装过程中不会出现错误。但是,创建的 IPA 大小约为 300 字节(而不是 10MB),并且无法安装在设备上。

在安装之前构建应用程序,即

# Building
xcodebuild clean build ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release 
# Installing
xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release

然后创建 IPA 将生成一个具有已执行版本脚本且大小正确的 IPABUT无法将其安装在设备上。尝试将其放在设备上会给出错误消息:
“您的 iPhone 设备“我的设备”上未安装程序“MyApp”,因为发生了未知错误。”


您已为至少一个脚本阶段检查了“仅在安装时运行脚本”。使用时不会运行该阶段build采取行动xcodebuild,仅当使用install action.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从命令行创建 IPA 时,为什么我的构建阶段脚本不会被执行? 的相关文章

  • 更改 NSManagedObject 属性而不触发委托方法?

    有什么方法 或技巧 可以修改NSManagedObject目前由一名代表持有NSFetchedResultsController不触发didChangeObject and controllerWillChangeContent 委托方法
  • 在 iPhone 通讯簿中创建群组

    我正在开发一个 iPhone 应用程序 该应用程序使用将联系人添加到地址簿中 我已经能够将联系人添加到地址簿 但我面临的问题是在将联系人记录添加到我创建的组时 该联系人将在不在已创建组内的所有联系人下创建 下面是我使用过的代码 create
  • 多线程:只有在执行完其他方法后才调用执行方法

    我正在尝试根据要求异步处理方法 一旦第一个方法完成 只有第二个方法应该开始执行 问题是第一个方法本身具有在后台线程上运行的代码 我尝试了dispatch semaphore wait 但这也不起作用 dispatch queue t que
  • Swift 3 异步调度警告

    我有这个代码 DispatchQueue global priority DispatchQueue GlobalQueuePriority default async let url URL string itemImageURL let
  • 如何在 iOS 中使用 AVPlayer 缓冲音频?

    我想播放来自互联网的流音频 我编写了播放流的代码 但它没有任何缓冲区 因此如果信号较弱 应用程序将停止播放音频 这是我的代码 import UIKit import AVFoundation import MediaPlayer impor
  • UIButton突出显示区域延伸到按钮之外

    当用户触摸 UIButton 时 应启动突出显示状态 当他将手指滑到按钮之外 仍然没有抬起手指 时 按钮突出显示应该停止 并且当他抬起手指时 不应触发按钮 这种行为正是 iOS 的工作原理 但我对仍然应用突出显示的有效区域感到有点惊讶 对于
  • Xcode:PDF 中的矢量图像质量较差

    对于我的 iOS Swift 项目 我使用矢量化 pdf 文件 Xcode 从中渲染 1x 2x 3x 图像 当我将 PDF 生成的图像的质量与相同大小的普通 PNG 图像进行比较时 我发现它们之间的质量存在很大差异 理论上 下图中第一行和
  • iOS Flutter 与 Firebase:启动时 FlutterAppDelegate 中出现白屏和 SIGABRT

    现在在多个项目中 非常不一致的是 我在启动应用程序时出现白屏 并且 Xcode 显示错误 Thread 1 signal SIGABRT 在线上 objc class AppDelegate FlutterAppDelegate 这些都是i
  • 为什么 mmap 在 iOS 上失败?

    我正在尝试使用 mmap 在 iOS 上读取和播放音频文件 它适用于最大约 400MB 的文件 但当我尝试 500MB 文件时 出现 ENOMEM 错误 char path NSBundle mainBundle pathForResour
  • 如何在 AOT 平台上运行时生成任何泛型类型?

    我需要在 AOT 平台上运行时生成泛型类型 我知道一种 解决方法 它提示编译器通过在代码中创建虚拟方法来生成特定的泛型类 public void DoDummy var a1 new MyClass
  • Xcode 不再识别测试

    我已经解决这个问题几天了 但我没有任何想法 我在 Xcode 中使用单元测试 效果很好 突然 Xcode 不再识别我的测试 如果我进入测试面板 它会显示我的测试为零 我其实有13个 运行单独测试或某些课程的能力现已消失 它不会在编辑器区域的
  • 如何在 Xcode 中使用“-force_load”链接库?

    我的其他库不允许我设置 ObjC 或 all load 标志 所以我需要使用 force load 来链接我的库 我的项目下有 GoogleOpenSource framework 和 GooglePlus framework 那么如何正确
  • 将角半径应用于 Storyboard 内的特定 UIView 角并不适用于所有角

    我为此创建了一个自定义类 但它仅适用于左上角 不适用于其他位置 IBDesignable public class RoundedView UIView IBInspectable public var topLeft Bool false
  • Bash:查找并连接文件

    我有以下结构 home DIR1 file ab csv DIR2 file cd csv DIR3 file3 ef csv Where file csv包含多行浮点数 每个 DIR 都有不同的浮点数 我想抓取所有的内容file csv文
  • Xcode 4.4 和 4.5 在项目关闭时冻结

    自从升级到 Xcode 4 4 并再次升级到 4 5 在 Lion 上运行 后 每次我关闭应用程序项目或退出时 Xcode 都会冻结大约 3 5 分钟 在此期间 活动监视器显示 CPU 占用率为 95 但几乎没有发生磁盘活动 我尝试过卸载并
  • 向 UIControls 添加属性而不使用子类化

    我已将 UIButtons 嵌入到 TableViewCells 中 为了跟踪按钮属于哪个单元格 我想向 UIButton 添加 NSIndexPath 属性 我不想子类化 UIButton 有没有办法可以通过类别来做到这一点 编辑 我相信
  • 当 tableView 向下滑动时显示 UISearchController

    我通过 UISearchController 在我的测试应用程序中实现了搜索栏 当我启动应用程序时 我会在导航控制器下方看到搜索栏 但如何在应用程序启动时隐藏它并仅在下拉表格视图时显示它 并在拉出表格视图时再次隐藏 我在google或you
  • 应用程序可执行文件缺少所需的架构armv6

    我正在使用 xCode 4 2 并尝试部署我的应用程序 我的验证失败并显示以下错误消息 application executable is missing a required architecture armv6 我的架构的值设置为标准
  • 适用于 iOS 的最佳存档器库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可在我的 iOS 应用程序中使用的存档器库 zip 或其他格式 就以下方面而言 最好的图书
  • 无法实例化名为 GLKView 的类

    我得到了这个异常 2014 02 19 19 08 34 590 MyApp 42353 70b Terminating app due to uncaught exception NSInvalidUnarchiveOperationEx

随机推荐