使用 fastlane 健身房构建 ipa 非常容易。但我的目标是建立一个框架。它适用于构建以下框架:
gym(
clean: true,
scheme: "SGVSDK",
project: "../Prj/SDK/SGVSDK.xcodeproj",
# build_path: "./",
archive_path: "./" + archiveName,
skip_package_ipa: true,
)
Run Code Online (Sandbox Code Playgroud)
但它只能构建设备框架吗?如何构建模拟器框架?对使用 fastlane 的 SDK CI 有什么提示吗?
在我的Xamarin iOS项目中,Entitlements.plist aps-environment设置为development,用于开发测试目的.我正在使用App Store的Visual Studio Team Services Extension自动将发布版本发布到TestFlight.但是,当它使用fastlane pilot上传应用程序时,我收到此错误:
ERROR ITMS-90046:"无效的代码签名应享权利你的应用程序包的签名包含了不支持iOS代码签名权利具体来说,值'发展'的关键'APS-环境’.项目 ’不支持.
看起来production在运行持续集成构建时应该切换到环境.我该如何自动化?
app-store xamarin.ios apple-push-notifications fastlane azure-devops
当使用fastlane和cocoapods构建我们的iOS应用程序时,我注意到fastlane不使用我已安装的cocoapods版本
sudo gem install cocoapods
Run Code Online (Sandbox Code Playgroud)
跑步时
pod --version
它会返回此时的最新版本
1.3.1
但是,当在fastlane中运行构建通道时,由于某种原因,它使用cocoapods版本1.2.1.
我在我的Fastfile中使用它来清理和pod安装
cocoapods(
clean: true,
podfile: "Podfile"
)
Run Code Online (Sandbox Code Playgroud)
有没有办法让tel fastlane使用特定版本的cocoapods?或者使用我手动安装的版本?
我在使用 fastlane 和从 BitBucket 克隆 git repo 时遇到了一些问题。我收到以下错误:
fatal: could not read Username for 'https://bitbucket.org': terminal prompts disabled
[17:21:34]: Exit status: 128
[17:21:34]: Error cloning certificates repo, please make sure you have read access to the repository you want to use
[17:21:34]: Run the following command manually to make sure you're properly authenticated:
Run Code Online (Sandbox Code Playgroud)
我可以git clone毫无问题地手动repo,但是当我使用 fastlane 运行它时,我遇到了问题。
bitbucket command-line-interface git-clone fastlane fastlane-match
致力于为swift iOS应用程序构建自动UI测试.该应用程序涉及用于登录Facebook的Web视图.每次在web视图的范围内点击并尝试登录facebook时,如果我尝试使用内置的Xcode UI记录构建UI测试,则会崩溃Xcode.无论Xcode会崩溃,我使用iPhone 6或模拟器都没关系.
我正在使用Xcode 9.以及FBSDKLoginKit和FBSDKCoreKit.
重现步骤:
1)拥有一个带有webview的应用程序
2)点击记录UI测试
3)单击webview范围内的任意位置
这种行为有原因吗?
我是否需要更改Xcode中的设置才能记录Web视图交互?
下面是Xcode崩溃时收到的错误消息.
Process: Xcode [70544]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 9.3 (14154)
Build Info: IDEFrameworks-14154000000000000~2
App Item ID: 497799835
App External ID: 826408812
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Xcode [70544]
User ID: 501
Date/Time: 2018-05-21 14:04:50.053 -0400
OS Version: Mac OS X 10.13.4 (17E199)
Report Version: 12
Anonymous UUID: 335CE1E7-B5AB-F717-E6D0-019AF52B3708
Sleep/Wake UUID: 7824F1AB-C514-4609-A447-F15EA9C86C84
Time Awake Since Boot: 99000 seconds
Time Since Wake: 1800 seconds
System …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Nexus 5X API 26仿真器中执行命令fastlane screengrab.
这是我得到的结果:
rcarba$ fastlane screengrab
[?]
[16:00:51]: fastlane detected a Gemfile in the current directory
[16:00:51]: however it seems like you don't use `bundle exec`
[16:00:51]: to launch fastlane faster, please use
[16:00:51]:
[16:00:51]: $ bundle exec fastlane screengrab
[16:00:51]:
[16:00:51]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[16:00:51]: Successfully loaded '/Users/.../fastlane/Screengrabfile'
+----------------------------+-----------------------------------------------+
| Detected Values from './fastlane/Screengrabfile' |
+----------------------------+-----------------------------------------------+
| app_package_name | com.my.app |
| app_apk_path | app/build/outputs/apk/release/app-release.apk |
| tests_apk_path | …Run Code Online (Sandbox Code Playgroud) android screen-grab android-permissions fastlane fastlane-snapshot
我有一个应用程序在Xcode 9上的CircleCI上运行React Native 0.57.7时运行良好,但是我们需要将Xcode版本提高到10.1.0。
但是,当我切换它时,Ci停止工作,即使启用了旧版系统(-UseNewBuildSystem=NO或-UseModernBuildSystem=0传递给Fastlane的build_ios_app),我也会收到“ Myapp.app/main.jsbundle不存在”错误。
? + echo 'error: File /Users/distiller/project/ios/build/Build/Intermediates.noindex/ArchiveIntermediates/Myapp/BuildProductsPath/Release-iphoneos/Myapp.app/main.jsbundle does not exist. This must be a bug with'
? error: File /Users/distiller/project/ios/build/Build/Intermediates.noindex/ArchiveIntermediates/Myapp/BuildProductsPath/Release-iphoneos/Myapp.app/main.jsbundle does not exist. This must be a bug with
? + echo 'React Native, please report it here: https://github.com/facebook/react-native/issues'
? React Native, please report it here: https://github.com/facebook/react-native/issues
Run Code Online (Sandbox Code Playgroud) 如何从 fastlane 通过 XCTest 仅运行一个 ui-test?
我知道 fastlane: only_testing 的参数,但不明白如何使用它。能给我举个例子吗
我将所有 ui 测试运行为:
fastlane ios RunningUITests
但希望fastlane ios RunningUITests only_testing:GTUITests/GT00FirstClass/testFunc
这对我不起作用
你能举一个确切的例子吗?
我有一个执行uploadToTestFlight操作的 Fastfile :
uploadToTestflight(
username: "foo@example.com",
skipWaitingForBuildProcessing: false,
distributeExternal: true)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,这成功了。但是,它实际上并没有将构建分发给任何人。当我查看 App Store Connect > My Apps > Foo App > TestFlight > iOS 上的构建时,它在构建名称附近显示“已批准”,这意味着它已经通过了审核过程。
但是,当我单击构建时,我注意到它被发布到的唯一组或用户是App Store Connect Users,这意味着它实际上并未从外部发布。
我有一个名为的组Foo Group,每当我运行 fastlane 时,我都想将其发布到该组。我怎么做?
在您对我的问题感到生气之前,我知道没有一种设置 Fastlane 的最佳方法,但我想更好地了解您在开始使用它时可以采用的不同方法。
我正在为一个项目设置 Fastlane。现在我只在我的本地机器上有它,但我想在 CI 环境中设置它(在我的例子中是 GitLab-CI,但我想它并不那么重要)。
披露,我不仅是设置 Fastlane 的新手,而且是我自己设置 CI 的新手(不过我已经使用了它们,)
阅读代码签名文档(https://docs.fastlane.tools/codesigning/getting-started/)后,我可以看到不同的替代方案,但我不确定它们在 CI 环境中的限制是什么。总之,在以下情况下签署构建的好做法是什么:提交到 Testflight、运行单元测试、提交到 AppStore 等等。
选项是:
matchcert 和 sigh 到目前为止我的论文:
match:
match拥有有效的开发配置文件中受益。不确定发布到 Testflight/Appstore 的好处。cert和sigh:
要使用它只需要在 build_app 之前几行:
get_certificates # cert
get_provisioning_profile # sigh
build_app
Run Code Online (Sandbox Code Playgroud)它下载项目根目录中的证书和配置文件。
fastlane ×10
xcode ×3
ios ×2
android ×1
app-store ×1
azure-devops ×1
bitbucket ×1
circleci ×1
cocoapods ×1
fastfile ×1
git-clone ×1
jenkins ×1
match ×1
react-native ×1
screen-grab ×1
swift ×1
xamarin.ios ×1
xctest ×1