标签: fastlane

Fastlane提供配置文件疯狂

很抱歉,如果我遗漏了某些内容,请提出问题.

我正在使用看起来像这样的车道:

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    ...
    # download certificate
    cert
    # download provisioning profile
    sigh
    # set profile uiid
    # https://github.com/fastlane/fastlane/blob/master/docs/CodeSigning.md
    ENV["PROFILE_UUID"] = lane_context[SharedValues::SIGH_UDID]
    # build
    gym(
      scheme: "Release"
    )
    pilot
  end
Run Code Online (Sandbox Code Playgroud)

我在健身房步骤后仍然保持进程失败,并出现以下错误:

?  Code Sign error: No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “8bd6dafb-2596-41d9-8907-8c012d23a5ac”, however, no such provisioning profile was …
Run Code Online (Sandbox Code Playgroud)

provisioning-profile fastlane

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

将环境变量传递给Fastlane的shell脚本

我正在运行Fastlane(iOS的连续构建工具),以便执行自定义shell脚本来解密文件.

这是命令.

sh "./decrypt.sh ENV['ENCRYPTION_P12']"
Run Code Online (Sandbox Code Playgroud)

我无法想出将环境变量传递给该脚本的方法.显然,如果我将pwd硬编码到脚本中,它可以正常工作.

sh "./decrypt.sh mypwd"
Run Code Online (Sandbox Code Playgroud)

有什么建议?

ruby bash shell fastlane

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

从Fastlane的通用平台导入和调用特定平台的车道

我有一个react-native应用程序,既iosandroid目录的公共目录中。我希望能够独立发布(执行通道)iOS或Android,因此我fastlane init在每个平台目录中进行了设置(每个平台目录中都创建了两个fastlane/Fastfile)。Android Fastfile大致包含:

platform :android do
  lane: release_android do
    ...
  end
Run Code Online (Sandbox Code Playgroud)

和iOS:

platform :ios do
  lane: release_ios do
    ...
  end
Run Code Online (Sandbox Code Playgroud)

现在,我还手动fastlane/Fastfile在公共包含目录中创建了一个文件,如下所示:

import '../ios/fastlane/Fastfile'
import '../android/fastlane/Fastfile'

lane :release_all do
  release_android
  release_ios
end
Run Code Online (Sandbox Code Playgroud)

但是,当我fastlane release_all从主目录运行时,它会与断开Could not find action or lane 'release_android'

知道我在做什么错吗?从普通车道调用平台专用车道是不可能的吗?

环境

快车道1.96.0

android ios react-native fastlane

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

如何在子文件夹中运行Fastlane操作

我正在使用Fastlane构建我的iOS项目,并且正在使用“ 迦太基”动作

问题是我在不同的子文件夹中有几个iOS项目,因此我需要carthage(command: "bootstrap")在该子文件夹中运行。

我尝试更改为项目所在的目录,但它不起作用

lane :test do
    Dir.chdir("../MyProject") do
        carthage(command: "update")
    end
end
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

ios fastlane

5
推荐指数
2
解决办法
2786
查看次数

使用fastlane根据方案/目标自动从plist获取包标识符

我有一个Xcode项目设置有多个目标/方案,所以我在同一个代码库下有几个应用程序.

我在我的Fastfile中创建了以下测试通道,它为我的每个应用程序运行"叹气"工具:

lane :testing do
  ["First", "Second", "Third", "Fourth"].each do |scheme_name|
      sigh
  end
end
Run Code Online (Sandbox Code Playgroud)

查看fastlane文档,我看到您可以定义一个包标识符,叹息使用.但我需要它自动从每个目标/方案的plist中获取当前的bundle标识符并用它来叹息.这可以实现吗?

像(伪代码):

bundle_id = get_bundle_id_from_plist
sigh(app_identifier: bundle_id)
Run Code Online (Sandbox Code Playgroud)

我尝试使用这个插件:https://github.com/SiarheiFedartsou/fastlane-plugin-versioning,它有一个获取plist路径的方法.然后我运行了这段代码:

bundle_id = get_info_plist_value(path: get_info_plist_path(target: scheme_name), key: 'CFBundleIdentifier')
puts bundle_id
Run Code Online (Sandbox Code Playgroud)

输出是$(PRODUCT_BUNDLE_IDENTIFIER),实际上是plist值,所以我越来越近了.但是我需要这个来返回实际的bundle id,而不仅仅是它指向的变量.

我想要使​​用叹息的全部原因是因为每个应用程序/目标都有自己的配置文件,我必须由于CarPlay权限而最初手动生成.我希望它在到期时自动为每个目标创建新的配置文件.

ios fastlane

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

如何在代理后面使用fastlane

我找不到关于fastlane来设置代理的任何选项.那么有解决这个问题的直接方法吗?

非常感谢您的帮助!

fastlane fastlane-deliver fastlane-pilot

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

Fastlane Gym配置临时分配

我想为我的项目设置fastlane。我的工作区中没有几个目标(应用程序,watchkit应用程序和watchkit扩展)以及几个第三方项目。

我的问题是,当我使用fastlane上传时,无法从crashlytics下载构建,但是当我手动存档构建时,可以这样做。

这是我的快车道

lane :beta do

sh 'bash ./update_version.sh'

gym(scheme: "MyApp", 
  workspace: "MyApp.xcworkspace",
  configuration: "Ad Hoc Distribution")

crashlytics(
  api_token: "d543d4a5b27009b...",
  build_secret: "fafb26aa69fa...",
  groups:"myapp-team",
  notifications: true
)
end
Run Code Online (Sandbox Code Playgroud)

我添加了Gym的配置属性,因为默认情况下它使用Release,并且我想使用Ad Hoc配置进行分发,因为在此配置中设置了所有Ad Hoc配置文件。

据我了解,带有配置属性的Gym命令将为工作空间内的所有目标和项目设置Ad Hoc配置。对?

我试图模拟fastlane的作用,然后在所有目标和项目的Scheme中手动设置Atchive-> Build Configuration-> Ad Hoc并存档我的项目。之后,我将此存档上传到crashlytics并能够下载此版本。因此,我的个人资料很好,其中包括我的设备。

如何检查设置快速通道以使用完全相同的配置/配置文件?

谢谢。

UPD

再进行一次检查,这将有助于一些细节。

我使用Xcode归档了项目,然后创建IPA文件并从Fabric的文档运行此命令-https: //docs.fabric.io/apple/beta/build-tools.html

/path/to/Crashlytics.framework/submit API_KEY BUILD_SECRET \
-ipaPath path.to/my.ipa \
-groupAliases my-team \
-notifications YES
Run Code Online (Sandbox Code Playgroud)

之后,我可以下载构建。

感谢fastlane的Todd。

UPD 2

这是我的快速通道输出的最后一部分

...
Copying myapp/Resources/sound/connection_found.wav
[09:33:52]: ? Copying myapp/Resources/sound/connection_lost.wav
[09:33:52]: ? Copying myapp.strings
[09:33:52]: ? Copying myapp/Resources/sound/kicked.wav
[09:33:56]: …
Run Code Online (Sandbox Code Playgroud)

code-signing ios fastlane

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

fastlane操作和插件的区别

我有一个用例,其中我必须生成测试版本的发行版本,这些版本要遵循测试人员精心记录的管道手册。我已经有一个在ruby中运行逻辑的函数,但是我正在考虑创建fastlane动作或fastlane插件。在我的用例下,采取足够的措施还是应该考虑使用插件?

fastlane

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

Xcode 10"无法构建模块Darwin/Foundation/CoreFoundation"等

切换到Xcode 10(现在必须使用遗留构建系统)后,我开始收到如下所示的错误.在当地,我能够通过几乎清理我能做的一切来修复它们Derived Data / Build etc...

Xcode中的调试和发布运行对我来说运行正常,但是我一直在努力在我们的CI(bitrise)中解决这个问题.

我们使用Fastlane,我们的工作流程有步骤清除派生数据并执行干净构建.

clear_derived_data
build_ios_app(
  workspace: "application.xcworkspace",
  scheme: "application",
  clean: true
)
Run Code Online (Sandbox Code Playgroud)

然而,这些错误仍然存​​在(这些是很少的例子,大约有30个错误,像这样跟随彼此并指向像达尔文等相同的包...):

?  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:10: could not build module 'Darwin'
#include <sys/types.h>
         ^~~~~~~~

?  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/include/dispatch/dispatch.h:25:10: could not build module 'Darwin'
#include <Availability.h>
 ~~~~~~~~^

?  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:10: could not build module 'CoreFoundation'
#include <CoreFoundation/CoreFoundation.h>
 ~~~~~~~~^

?  /Users/vagrant/git/packages/skimitar-app/node_modules/react-native-firebase/ios/RNFirebase/functions/RNFirebaseFunctions.h:3:9: could not build module 'Foundation'
#import <Foundation/Foundation.h>
 ~~~~~~~~^
Run Code Online (Sandbox Code Playgroud)

编辑: legazy构建设置是否仍然存在,即如果在我们的Xcode中设置并致力于git,ci是否也会使用遗留构建系统?

xcode objective-c ios fastlane xcode10

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

无法将APK上传到Beta轨道。Google Api错误:releaseToHaltNotFound:无法停止发布,找不到匹配的正在进行中的版本

我正在使用fastlane将apk上传到Google Play Beta轨道。我在不同的国家/地区使用多个不同的包名称的apk。几天前,它未能上传我的apk之一。Fastlane日志:

[13:54:31]: WARNING: fastlane requires your locale to be set to UTF-8. To learn more go to https://docs.fastlane.tools/getting-started/ios/setup/#set-up-environment-variables
DEBUG [2018-10-16 13:54:31.49]: Checking if there are any plugins that should be loaded...
Successfully loaded Appfile at path '/Users/XXX/XXX-android/fastlane/Appfile'
- json_key_file: './fastlane/Google Play Android Developer-XXX.json'
-------
Successfully loaded Appfile at path '/Users/XXX/XXX-android/fastlane/Appfile'
- json_key_file: './fastlane/Google Play Android Developer-XXX.json'
-------
DEBUG [2018-10-16 13:54:31.68]: Using country: XXX
DEBUG [2018-10-16 13:54:31.68]: Using track: beta
DEBUG [2018-10-16 13:54:31.68]: Using rollout: 0.1
DEBUG [2018-10-16 13:54:31.68]: …
Run Code Online (Sandbox Code Playgroud)

android google-play google-api-ruby-client fastlane

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