FASTLANE健身房配置特设分布

问题描述:

我想设置FASTLANE为我的项目。我得到了一些目标(应用程序,watchkit应用和watchkit扩展),加上一些第三方项目,我的工作区。FASTLANE健身房配置特设分布

我的问题是,我不能下载从crashlytics构建当我FASTLANE上传,但我可以做到这一点,当我存档建立manualy。

这是我FASTLANE

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 

我添加配置属性健身房,因为它使用版本默认情况下,我想使用特定的配置分配,因为所有特设的配置文件在这个配置中设立。

据我了解,有配置属性健身房命令将设置特设配置工作空间内的所有目标和projets。对?

我试图效仿FASTLANE会做,我设置好的Atchive - 在所有目标和项目计划手动>Ad Hoc和存档我的项目 - >Build Configuration。之后,我将这个档案上传到crashlytics,并能够下载这个版本。所以,我的个人资料很好,并且包含我的设备。

如何检查设置FASTLANE使用完全相同的配置/配置文件?

谢谢。

UPD

还有一个额外的检查,这应该与一些细节帮助。

我归档项目和Xcode,然后创建IPA文件,并从面料的doc运行此命令 - 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 

之后,我能下载的版本。

感谢托德从FASTLANE。

UPD 2

这是我FASTLANE输出

... 
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]: ▸ Processing myapp-Info.plist 
[09:33:56]: ▸ Generating 'myapp.app.dSYM' 
[09:33:59]: ▸ Copying /Users/evgeniitrapeznikov/Library/Developer/Xcode/DerivedData/myapp-dfrdqdmlsgvypadklcuzikqgrnzs/Build/Intermediates/ArchiveIntermediates/myapp/BuildProductsPath/Ad\ Hoc\ Distribution-iphoneos/myapp\ WatchKit\ Extension.appex 
[09:33:59]: ▸ skipping copy phase strip, binary is code signed: /Users/evgeniitrapeznikov/Library/Developer/Xcode/DerivedData/myapp-dfrdqdmlsgvypadklcuzikqgrnzs/Build/Intermediates/ArchiveIntermediates/myapp/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/myapp WatchKit Extension.appex/myapp WatchKit App.app/_WatchKitStub/WK 
[09:33:59]: ▸ skipping copy phase strip, binary is code signed: /Users/evgeniitrapeznikov/Library/Developer/Xcode/DerivedData/myapp-dfrdqdmlsgvypadklcuzikqgrnzs/Build/Intermediates/ArchiveIntermediates/myapp/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/myapp WatchKit Extension.appex/myapp WatchKit App.app/myapp WatchKit App 
[09:33:59]: ▸ skipping copy phase strip, binary is code signed: /Users/evgeniitrapeznikov/Library/Developer/Xcode/DerivedData/myapp-dfrdqdmlsgvypadklcuzikqgrnzs/Build/Intermediates/ArchiveIntermediates/myapp/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/myapp WatchKit Extension.appex/myapp WatchKit Extension 
[09:33:59]: ▸ Running script 'Run Script' 
[09:33:59]: ▸ Touching myapp.app 
[09:33:59]: ▸ Signing /Users/evgeniitrapeznikov/Library/Developer/Xcode/DerivedData/myapp-dfrdqdmlsgvypadklcuzikqgrnzs/Build/Intermediates/ArchiveIntermediates/myapp/InstallationBuildProductsLocation/Applications/myapp.app 
[09:34:00]: ▸ Touching myapp.app.dSYM 
[09:34:00]: ▸ Archive Succeeded 
[09:34:00]: Generated plist file with the following values: 
[09:34:00]: ▸ ----------------------------------------- 
[09:34:00]: ▸ { 
[09:34:00]: ▸ "method": "app-store", 
[09:34:00]: ▸ "uploadSymbols": true, 
[09:34:00]: ▸ "uploadBitcode": false 
[09:34:00]: ▸ } 
[09:34:00]: ▸ ----------------------------------------- 
[09:34:00]: $ /usr/bin/xcrun /Users/evgeniitrapeznikov/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.48.0/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist '/var/folders/z7/3krkc5211ng2c090_qhd2tlm0000gn/T/gym_config20170726-23446-a2yb0t.plist' -archivePath /Users/evgeniitrapeznikov/Library/Developer/Xcode/Archives/2017-07-26/myapp\ 2017-07-26\ 09.32.18.xcarchive -exportPath '/var/folders/z7/3krkc5211ng2c090_qhd2tlm0000gn/T/gym_output20170726-23446-hafxer' 
[09:34:08]: Compressing 2 dSYM(s) 
[09:34:08]: $ cd '/Users/evgeniitrapeznikov/Library/Developer/Xcode/Archives/2017-07-26/myapp 2017-07-26 09.32.18.xcarchive/dSYMs' && zip -r '/Users/evgeniitrapeznikov/Desktop/myapp/myapp-ios-client/myapp.app.dSYM.zip' *.dSYM 
[09:34:09]: ▸ updating: myapp WatchKit Extension.appex.dSYM/ (stored 0%) 
[09:34:09]: ▸ updating: myapp WatchKit Extension.appex.dSYM/Contents/ (stored 0%) 
[09:34:09]: ▸ updating: myapp WatchKit Extension.appex.dSYM/Contents/Info.plist (deflated 51%) 
[09:34:09]: ▸ updating: myapp WatchKit Extension.appex.dSYM/Contents/Resources/ (stored 0%) 
[09:34:09]: ▸ updating: myapp WatchKit Extension.appex.dSYM/Contents/Resources/DWARF/ (stored 0%) 
[09:34:09]: ▸ updating: myapp WatchKit Extension.appex.dSYM/Contents/Resources/DWARF/myapp WatchKit Extension (deflated 64%) 
[09:34:09]: ▸ updating: myapp.app.dSYM/ (stored 0%) 
[09:34:09]: ▸ updating: myapp.app.dSYM/Contents/ (stored 0%) 
[09:34:09]: ▸ updating: myapp.app.dSYM/Contents/Info.plist (deflated 52%) 
[09:34:09]: ▸ updating: myapp.app.dSYM/Contents/Resources/ (stored 0%) 
[09:34:09]: ▸ updating: myapp.app.dSYM/Contents/Resources/DWARF/ (stored 0%) 
[09:34:09]: ▸ updating: myapp.app.dSYM/Contents/Resources/DWARF/myapp (deflated 69%) 

[09:34:09]: Successfully exported and compressed dSYM file 
[09:34:09]: Successfully exported and signed the ipa file: 
[09:34:09]: /Users/evgeniitrapeznikov/Desktop/myapp/myapp-ios-client/myapp.ipa 
[09:34:09]: ------------------------- 
[09:34:09]: --- Step: crashlytics --- 
[09:34:09]: ------------------------- 
[09:34:09]: Uploading the build to Crashlytics Beta. Time for some ☕️. 
[09:34:26]: Build successfully uploaded to Crashlytics Beta 
[09:34:26]: Visit https://fabric.io/_/beta to add release notes and notify testers. 
[09:34:26]: ------------------- 
[09:34:26]: --- Step: slack --- 
[09:34:26]: ------------------- 
[09:34:28]: Successfully sent Slack notification 

+------+---------------------+-------------+ 
|    fastlane summary    | 
+------+---------------------+-------------+ 
| Step | Action    | Time (in s) | 
+------+---------------------+-------------+ 
| 1 | Verifying required | 0   | 
|  | fastlane version |    | 
| 2 | default_platform | 0   | 
| 3 | bash    | 0   | 
|  | ./update_version.sh |    | 
| 4 | gym     | 118   | 
| 5 | crashlytics   | 16   | 
| 6 | slack    | 1   | 
+------+---------------------+-------------+ 

[09:34:28]: fastlane.tools finished successfully 
+0

我刚刚添加了以下3个配置的健身房。它工作正常。它完美地上传到曲棍球应用程序。 export_method:“ad-hoc”, \t output_directory:“./Hockeybuild”, \t scheme:Array Of BundleId – Manoj

+1

感谢来自Fabric/fastlane的Eugene,Todd。如果您正在手动设置配置文件,您可以告诉我吗?通常,这种类型的问题是由于在签名时使用错误的配置文件造成的。您能否提供Crashlytics动作的完整输出以上传测试版本。另外,让我知道,如果你在这里看到与提交脚本相同的问题:https://docs.fabric.io/apple/beta/build-tools.html? –

+0

@ToddBurner在此感谢您的评论。我了解错误配置文件中的问题。是的,我手动设置了所有配置配置文件(没有自动管理签名检查)。你想让我在xcode中存档项目,然后创建IPA文件并在终端中运行此脚本?或者我应该添加这个作为与sh命令在fastlane中的步骤? –

我只是说export_method: "ad-hoc"健身房的最后一部分,它的工作原理。