我的一个项目有一点问题。在我的工作区中,我有我的主要项目和许多静态库项目。当我从 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 项目......
问候,昆汀
我在 IOS 中创建了一个应用程序,并希望通过命令行构建和运行它。xcodebuild 命令有助于构建应用程序,其基本语法如下:
xcodebuild -target "${TARGET_NAME}" -sdk "${TARGET_SDK}" -configuration Release -xcconfig "${BUILD_SETTINGS_FILE_PATH}"
Run Code Online (Sandbox Code Playgroud)
每个目标都将包含其产品名称和其他构建设置。现在我不想采用 xcode 目标中指定的产品名称/构建设置,而是通过一些可以包含构建设置的外部文件。所以,我尝试使用该-xcconfig选项,但我不清楚它的实现。它应该是什么类型的文件以及如何配置文件的路径?。官方文档似乎也不太清楚。
所以我们正在构建这个iOS应用程序.我们有Jenkins自动运行的性能测试.当然,这些测试必须在设备上运行.
现在我们在一些测试中遇到了很多麻烦,我怀疑他们自己没有清理,让应用程序的Documents文件夹处于不确定状态.显然我可以修复清理工作,但这需要很长时间.
我希望能够在运行测试之前从设备中删除应用程序.我们有什么方法可以通过xcodebuild或任何其他自动化工具来做到这一点.甚至可以是applescript或非官方工具.唯一的规则是我们可能不会越狱设备.
我刚刚将我的Mac OS从Mac 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 - 内部构建)。它有五个方案。但是,一次我只能构建一个方案。我想一次建立所有的计划。一个工作空间可能有多个方案。
我可以使用xcodebuild. 我想在构建之前将文件添加到项目中,目前我将文件拖放到项目中,同时它也会添加到项目中。其他选项是“右键单击”和“将文件添加到项目”
但是如何通过命令行添加文件呢?cp命令不会将文件添加到项目/目标。
我正在使用以下命令构建我的 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) 我希望能够从 xcodebuild 命令行启用/禁用 Xcode 的主线程检查器。我应该使用什么开关?我不想在 .xcconfig 文件中设置它。
我有一台运行 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 重命名为 …
是否可以(如果可以,如何)将环境变量从运行 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)