标签: xcodebuild

隐式依赖项不适用于 xcodebuild

我的一个项目有一点问题。在我的工作区中,我有我的主要项目和许多静态库项目。当我从 Xcode 构建时,一切正常,但是使用 xcodebuild,我的项目之一未构建,似乎隐式依赖项不起作用。也许我的配置有问题。所以就是这样。

我的方案配置: 在此处输入图片说明

我的 QAPreferences.a 信息: 在此处输入图片说明

我的目标设置: 在此处输入图片说明

从 Xcode 中,如果我在 iphoneos 的调试中使用 buildAppTarget 构建,它就可以工作。

从 xcodebuild,使用下面的命令,不会构建 QAPreferences 项目。

xcodebuild -workspace myProject.xcworkspace -scheme buildApp -configuration Debug -sdk iphoneos
Run Code Online (Sandbox Code Playgroud)

它以前有效,但我最近添加了 QAPreferences,从现在起它确实有效。也许问题来自 QAPreferences 项目......

问候,昆汀

xcode xcodebuild ios

5
推荐指数
1
解决办法
3160
查看次数

xcodebuild 命令中的 xcconfig 选项

我在 IOS 中创建了一个应用程序,并希望通过命令行构建和运行它。xcodebuild 命令有助于构建应用程序,其基本语法如下:

xcodebuild -target "${TARGET_NAME}" -sdk "${TARGET_SDK}" -configuration Release -xcconfig "${BUILD_SETTINGS_FILE_PATH}"
Run Code Online (Sandbox Code Playgroud)

每个目标都将包含其产品名称和其他构建设置。现在我不想采用 xcode 目标中指定的产品名称/构建设置,而是通过一些可以包含构建设置的外部文件。所以,我尝试使用该-xcconfig选项,但我不清楚它的实现。它应该是什么类型的文件以及如何配置文件的路径?。官方文档似乎也不太清楚。

xcode cmd xcodebuild ios

5
推荐指数
1
解决办法
5262
查看次数

从命令行删除iOS应用程序

所以我们正在构建这个iOS应用程序.我们有Jenkins自动运行的性能测试.当然,这些测试必须在设备上运行.

现在我们在一些测试中遇到了很多麻烦,我怀疑他们自己没有清理,让应用程序的Documents文件夹处于不确定状态.显然我可以修复清理工作,但这需要很长时间.

我希望能够在运行测试之前从设备中删除应用程序.我们有什么方法可以通过xcodebuild或任何其他自动化工具来做到这一点.甚至可以是applescript或非官方工具.唯一的规则是我们可能不会越狱设备.

xcode xcodebuild ios jenkins

5
推荐指数
1
解决办法
1620
查看次数

如何用xcode-select选择XCode 3.2.6?

我刚刚将我的Mac OSMac OS升级到10.9.3 到10.6.8.我安装了XCode 3.2.6.对于新开发,我需要安装XCode 4.5.2.

在maven构建中,我调用xcodebuild来构建一些C++项目.问题是我需要xcodebuild 3.2.6来构建某些项目,而xcodebuidl 4.5.2需要一些新项目.

我需要能够即时选择xcodebuild版本来启动项目构建.我看到xcode-select可以帮助我这样做,但是我在使用xcode-select来选择xcodebuild 3.2.6时遇到困难.

考虑我的XCode 4.5.2安装在/Applications/Xcode.app,使用命令

sudo xcode-select -switch /Applications/Xcode.app
Run Code Online (Sandbox Code Playgroud)

做的工作,如

xcodebuild -version
Run Code Online (Sandbox Code Playgroud)

输出

Xcode 4.5.2
Build version 4G2008a
Run Code Online (Sandbox Code Playgroud)

考虑到我的XCode 3.2.6/Developer/Applications/Xcode.app,我的问题是,为什么这个命令不起作用?

sudo xcode-select -switch /Developer/Applications/Xcode.app
Run Code Online (Sandbox Code Playgroud)

它输出

xcode-select: error: invalid developer directory '/Developer/Applications/Xcode.app'
Run Code Online (Sandbox Code Playgroud)

我能找到的唯一解决方法是使用绝对路径来使用xcodebuild 3.2.6,但这很棘手:

/Developer/usr/bin/xcodebuild
Run Code Online (Sandbox Code Playgroud)

是否有一种干净的方法来选择xcodebuild 3.2.6 xcode-select?

xcode xcodebuild osx-mavericks

5
推荐指数
1
解决办法
1388
查看次数

如何在 xcodebuild 中添加多个方案?

我只在终端中构建 xcode 工作区(xcodebuild - 内部构建)。它有五个方案。但是,一次我只能构建一个方案。我想一次建立所有的计划。一个工作空间可能有多个方案。

xcodebuild xcode-scheme xcode5 xcode-workspace

5
推荐指数
1
解决办法
1486
查看次数

通过命令行将文件添加到目标 xcode

我可以使用xcodebuild. 我想在构建之前将文件添加到项目中,目前我将文件拖放到项目中,同时它也会添加到项目中。其他选项是“右键单击”和“将文件添加到项目”

但是如何通过命令行添加文件呢?cp命令不会将文件添加到项目/目标。

xcode cmd xcodebuild ios

5
推荐指数
0
解决办法
716
查看次数

带有位码的 xcodebuild 不起作用

我正在使用以下命令构建我的 FAT 框架以使用 bitcode进行分发

xcodebuild -sdk iphoneos CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO xcodebuild -sdk iphonesimulator CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO lipo -create /path/to/iphone/framework /path/to/simulator/framework -output /path/to/universal/framework

我的构建标志是这样的:

在此处输入图片说明

但是当我使用 bitcode 将框架集成到不同的项目中并使用以下方法对其进行存档时:

xcodebuild -workspace /path/to/MyApp/app.xcworkspace -scheme app_scheme archive -archivePath /path/to/MyArchive/MyApp.xcarchive | xcpretty
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

?  ld: bitcode bundle could not be generated because '/path/to/my/app/Frameworks/MyFramework.framework/MyFramework' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build for architecture armv7

?  clang: error: linker command failed with exit code 1 …
Run Code Online (Sandbox Code Playgroud)

llvm xcodebuild ios bitcode

5
推荐指数
0
解决办法
1207
查看次数

如何从命令行启用/禁用 Xcode 的主线程检查器?

我希望能够从 xcodebuild 命令行启用/禁用 Xcode 的主线程检查器。我应该使用什么开关?我不想在 .xcconfig 文件中设置它。

xcode xcodebuild

5
推荐指数
0
解决办法
377
查看次数

如何安装和使用多个版本的 Xcode 命令行工具

我有一台运行 OS Mojave 和 Xcode 10.1 的 Macbook pro,命令行工具安装在 /Application/Xcode.app/Contents/Developer。对于我从命令行调用 xcodebuild 的项目。

我希望针对不支持 Xcode 10.1 或随附的 Swift 和 Clang 编译器版本的项目运行静态分析工具(该工具调用 xcodebuild)。该工具目前仅支持 Xcode 9.2。我下载了 Xcode 9.2,提取并重命名 Xcode.app 为 Xcode9_2.app 并将其移动到我的应用程序文件夹。

我假设 xcodebuild 是作为命令行实用程序安装的一部分安装的,并且我需要为 Xcode 9.2 安装命令行实用程序。但是,当我尝试安装它们时,我收到一条消息“无法在此磁盘上安装命令行工具(macOS High Sierra 版本 10.13)。macOS 的版本太新。” 我还担心旧的 Xcodebuild 可能会替换新的,因为它位于 /usr/bin 中。

xcodebuild 的调用如下所示:

xcodebuild -workspace ‘MyApp/MyApp.xcworkspace' -scheme ‘MyApp’ -configuration 'Release' -archivePath MyApp.xcarchive archive
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

1) xcodebuild 是命令行工具的一部分吗?

2)如果是我如何安装各种版本的命令行工具?我假设安装它们后,我可以选择以下内容:

须藤 xcode-select -s /Applications/Xcode9_2.app/Contents/Developer

但我再次看到一条消息,阻止安装 Xcode 9.2 命令行工具。

我也看过其他 SO帖子,但我认为删除隔离步骤不适用,而且我认为它没有解决 xcodebuild 存在于 \usr\bin 中的问题。我还尝试将 Xcode.app 重命名为 …

xcode xcodebuild xcode-command-line-tools

5
推荐指数
0
解决办法
1745
查看次数

将环境变量从 fastlane 传递到 Xcode 构建阶段脚本

是否可以(如果可以,如何)将环境变量从运行 fastlane 的脚本传递到 Xcode 运行脚本阶段?

我的最终目标是在运行脚本阶段读取当前的 git 分支名称。我们的 CI 由 Team Foundation Server 运行,它执行git checkout显式提交,而不是分支,因此当前分支始终显示为HEAD.

TFS -> fastlane -> gym -> xcodebuild -> script that needs the branch
Run Code Online (Sandbox Code Playgroud)

可以仅通过 TFS 设置的环境变量获取触发构建的分支。我的计划是将该值归入 Xcode 脚本以完成我需要的操作。

如果我理解正确的话,我宁愿不使用它,因为它将所有环境变量传递给构建过程。

defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO
Run Code Online (Sandbox Code Playgroud)

git tfs xcode xcodebuild fastlane

5
推荐指数
1
解决办法
1901
查看次数