我想知道是否可以从我的Mac实用程序应用程序中将运行脚本构建阶段添加到另一个Xcode项目.我可以看到在添加运行脚本(执行差异)时Xcode项目中发生了什么,但我不知道如何在代码中安全地添加等效项.
我应该手动解析吗?是否有可用的文档或库?如果我能确保安全,正确地做到这一点,这将是一个有用的功能.我不想弄乱人们的Xcode项目!
我是脚本的新手,但我需要学习它以获取需要在 Xcode 项目的构建阶段运行的脚本。
我可以在那里写什么类型的脚本?支持哪些类型的语言?有没有一种脚本语言比其他的更容易学习?
只是想在这里找到正确的方向。
谢谢一堆。
我在settings.bundle中添加"Version Detail".什么是设置该标识符的更好方法,我看到很少通过代码使用Plistbuddy的运行脚本来完成.
是这样的,如果你使用plistbuddy,它会立即显示更新版本的详细信息,即使你没有打开应用程序.从应用程序版本更新后.商店?
如果通过代码完成,则必须打开应用程序.在设置中查看更新.
我已经用nodejs编写了一个小命令行程序,我希望能够npm run test使用下面的参数键入和运行程序.
直接输入以下命令有效,
node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\test\example_parse_module.js
但是我的package.json的内容如下所示,没有任何输出.
"scripts": {
"test" : "node.exe scrappee.js -u 'https://github.com/matutter/{}' -us 'cloggie, AirRocks-Flightcontroller' -s '$commit=li.commits > a > span, $sha=.right .commit-tease-sha' -pm .\\test\\example_parse_module.js"
}
Run Code Online (Sandbox Code Playgroud)
如何npm run test使用这些参数获取运行scrappee.js脚本的命令?
我有一个脚本可以升级我的版本(0.01 by 0.01)和我的版本(1 by 1)。它不再适用于 Xcode 11。
这是我的脚本:
#!/bin/bash
rm -rf build
Version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
Version=$(echo "scale=2; $Version + 0.01" | bc)
Build=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
Build=$($Build + 1)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $Build"
"$INFOPLIST_FILE"
if [ "${CONFIGURATION}" = "Release" ]; then
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $Version" "$INFOPLIST_FILE"
fi
Run Code Online (Sandbox Code Playgroud)
这是当我想在 Xcode 中构建或存档时出现的错误消息:
细节
无法安装请求的应用程序
域:NSPOSIXErrorDomain 代码:22
失败原因:应用程序的 Info.plist 不包含 CFBundleShortVersionString。
恢复建议:确保您的捆绑包包含 CFBundleShortVersionString。
用户信息:{
bundleURL =“file:///Users/olosta/Library/Developer/Xcode/DerivedData/Formbox-cxaxehrhmxqaqabbijmxvasgmhwn/Build/Products/Debug-iphonesimulator/Formbox_Renault_BusinessDays.app/”;
}
我检查了那张票,但它对我的脚本没有帮助
如果我进入 Xcode/General/Identity,我可以看到 Xcode 中填写了“版本”和“构建”,
但如果我通过手动打开 info.plist 来检查它,两个值都是空的
<key>CFBundleVersion</key> …Run Code Online (Sandbox Code Playgroud) 我是MySQL的新手,所以请指导我如何通过命令行执行此操作; 我试过但是我没有登录控制台输出,而字符集则没有utf-8
请帮忙.
我正在运行一个自定义脚本,其中包含一个bash应该知道的命令(ios-sim)(二进制文件位于/ usr/local/bin,$ PATH知道).但是,当由xcodebuild调用时,控制台会记录"未找到命令".
我能够手动执行命令,但我不知道为什么它在运行脚本中不起作用.我检查过用户,但正如我预期的那样,两次都是同一个用户......
调用ios-sim的行:
ios-sim launch $(dirname $TEST_HOST) $environment_args --args -SenTest All $test_bundle_path -v
Run Code Online (Sandbox Code Playgroud) 按照这里的指导,我们可以添加额外的脚本来运行构建过程.
我无法找到打开此对话框的位置以将我的脚本放在后期构建框中.
它在哪里?
更新
我去Edit a build definition- 处理部分,只看到下面的属性.

我正在尝试使用 NPM 作为构建系统(没有 Gulp 或 Grunt)专门设置一个项目,所以我有点初学者,但到目前为止,除了这个小障碍之外,它的工作非常好。我的 package.json 的脚本部分看起来像这样:
"scripts": {
"clean:task": "rimraf dist/*",
"clean:notify": "notify --t 'Cleaning done.' --m 'dist/ has been cleaned successfully.",
"clean": "npm run clean:task -s && npm run clean:notify -s",
"serve": "browser-sync start --p 'xxx.dev/app' --host 'xxx.dev' --port '3000' --open 'external' --f 'app'",
"styles:task": "node-sass --output-style nested -o app/assets/css app/assets/css",
"styles:notify": "notify --t 'Styles compilation' --m 'Styles have been compiled successfully'",
"styles:build": "npm run styles:task && npm run autoprefixer",
"imagemin": "imagemin app/assets/img dist/img -p",
"scripts:lint": "jshint …Run Code Online (Sandbox Code Playgroud) 在我当前的项目中,我被要求不要提交我的Pods目录,同时,人们希望我向 XCode 构建阶段“添加一些脚本”,如果需要,它将在每次安装之前自动运行“pod install”。
目标不是pod install在克隆存储库后在终端中手动运行。
我花了一天时间试图解决这个问题,我发现了一些没有太多细节的参考资料:
iOS 使用 pod install 作为 Pre-action 运行脚本来构建项目
CocoaPods 版本控制,克隆 repo 时必须使用 pod install
我还发现对于 CI,通过在 .yml 文件中设置操作可以解决同样的问题:
你知道这种脚本会是什么样子吗?