我想自动化向我的 iOS 应用程序添加新目标的过程,并编写一个脚本来加快整个过程。有没有办法复制 Xcode iOS 应用程序目标,然后重命名它,添加特定于该目标的新图标,更改捆绑包 ID、应用程序名称等,最后构建应用程序?我尝试过使用 AppleScript 来实现此目的,但没有成功。
我现在使用的解决方法是创建一个额外的目标(使用 Xcode GUI)并在构建期间(每次我想要构建应用程序时)对其进行自定义。这种方法的最大缺点是目标的配置不会保存在任何地方,并且必须为应用程序的每个构建指定目标的参数。这可能会导致不可重复的构建和其他无法调试的问题。这就是为什么我正在寻找一种方法或工具,它允许我从命令行脚本复制和配置新目标
我想知道是否有任何方法可以在 Xcode 中开始构建之前运行脚本。有办法从
Build phase -> Run scripts
但这是在实际构建完成后运行的。我需要在 Xcode 构建开始之前运行脚本。
我已切换到Xcode12我的静态库应用程序之一。我正在尝试制作 XCFramework 发行版。运行构建命令后,
xcodebuild archive -scheme "MySDK" -sdk iphoneos -archivePath \xe2\x80\x9c./archives/ios.xcarchive\xe2\x80\x9d -SKIP_INSTALL=NO\nRun Code Online (Sandbox Code Playgroud)\nBuild Settings -> Build Libraries for Distribution当我切换到时出现以下错误YES,
<unknown>:0: error: using bridging headers with module interfaces is unsupported\nCommand CompileSwiftSources failed with a nonzero exit code\n\n** ARCHIVE FAILED **\n\n\nThe following build commands failed:\n CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler\n CompileSwiftSources normal armv7s com.apple.xcode.tools.swift.compiler\n CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler\n(3 failures)\nRun Code Online (Sandbox Code Playgroud)\n这个答案有效,但不幸的是创建.xcframework需要设置选项 distribution YES。
如何解决这个问题?
\n我想在应用程序电子邮件(OS 3.0)中包含一个zip文件作为附件.我已将文件添加到我的Xcode项目中并在构建期间收到此消息:
检查依赖性警告:跳过文件"/Users/account1/Developer/Doc4_5.zip"(意外的文件类型"archive.zip"的框架和库建设阶段)
还有什么我需要做的或其他技术来使这项工作?
嗨,我是Xcode的新手.我正在尝试学习c ++,我想知道是否可以拥有多个项目并选择应该运行哪个项目.之前我使用过ms visual studio,我喜欢在解决方案中如何创建多个项目并选择哪个是可执行项目.Xcode也有目标不完全确定他们是什么,也许他们发挥作用?我试过搞乱,但由于重复的电源,我经常遇到问题.我正在阅读一章,并有案例研究.我试图将每个章节组织在一个项目中.任何帮助谢谢!
当我使用xcodebuild通过命令行构建iOS应用程序时,有没有办法可以选择目标文件夹(目录)?
现在我正在使用像这样的命令
xcodebuild -sdk iphonesimulator -workspace /<path_to_project>/ios-app/CompanyName-iOS.xcworkspace -scheme AppName -configuration Debug RUN_APPLICATION_TESTS_WITH_IOS_SIM=YES ONLY_ACTIVE_ARCH=NO clean build 2>&1
Run Code Online (Sandbox Code Playgroud)
在输出中我看到类似的东西
GenerateDSYMFile /Users/<username>/Library/Developer/Xcode/DerivedData/CompanyName-iOS-fcvhojqctgtmvgdaavahmjutbfyy/Build/Products/Debug-iphonesimulator/AppNAme.app.dSYM
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以获得应用程序输出到的位置,甚至指定我希望将应用程序发送到哪里?我需要访问应用程序才能运行Appium selenium测试,只需进行构建执行和运行测试就没有用.还尝试将jenkins合并到混合中,并且需要具有完全自动化过程的命令
我试图用xcodebuild联编建一个项目,但RestKit和GPUImage下面是给问题:
ld:警告:忽略文件/project/libGPUImage.a,缺少文件/project/libGPUImage.a中所需的架构armv7(2个切片)
ld:警告:忽略文件/project/libRestKit.a,文件是为存档而构建的,而不是被链接的架构(armv7):/ project/librestKit.a
请帮忙!
我正在编写一个bash脚本来存档和导出我的项目,以便将其发送到iTunes Connect.但是,命令行中的文档有点令人困惑.我试图找出是否有办法将参数传递给xcodebuild命令,该命令将设置该存档的版本号和内部版本号(类似于-scheme MyScheme调用xcodebuild时的传递方式).以前有人做过这样的事吗?
谢谢!
我们的CI服务器通过交换不同的捆绑ID来执行我们应用程序的每日临时构建,如下所示:
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.example.app.daily" \
app/app-Info.plist
Run Code Online (Sandbox Code Playgroud)
然后使用xcodebuild构建和存档:
xcodebuild \
CODE_SIGNING_REQUIRED=YES \
CODE_SIGN_IDENTITY="$DEVELOPER_NAME" \
PROVISIONING_PROFILE="$PROFILE_UUID" \
-sdk iphoneos \
-workspace "$XCODE_WORKSPACE" \
-scheme "$XCODE_SCHEME" \
clean archive \
-archivePath "$ARCHIVE_PATH"
Run Code Online (Sandbox Code Playgroud)
使用Xcode 6,这非常有效,但在Xcode 7中,我们遇到了这个错误:
代码签名错误:供应配置文件不匹配捆绑标识符("为CI服务器每日的AdHoc配置文件")在构建设置中指定的供应配置文件具有"com.example.app.daily"一个AppID不匹配您的包标识符"com.example.app".
就好像Xcode 7没有看到我们更改了包ID.它在寻找其他地方吗?
是否有可能测量时间,而这条xcodebuild命令要花费时间来构建每个不同的目标?
假设我有一个目标,具体取决于一些cocoapod:pod1和pod2。我使用建立目标xcodebuild。我可以衡量整体时间。我需要衡量倍,即分别在花了pod1,pod2而我的目标
我试图在xcodebuild的输出中找到答案,但没有成功。
提前致谢!