fastlane: Crashlytics hidden stack trace

New Issue Checklist

Issue Description

We are having a problem with Crashlytics not resolving symbols in our builds created and uploaded using Fastlane. I think it started after upgrading to XCode 9 because I know it used to work before. I have read all docs around this extensively and tried everything I could think of but haven’t found a solution. I even had a long running support issue with Fabric about it. They say that it must be a problem with Fastlane and Gym since the symbols resolve fine when we build the same configuration (Adhoc) using XCode and submit with the Fabric app.

I have examined the dSYM files produced during the build and as far as I can see (using dwarfdump) the method and class names used in our code are there.

I really need some ideas of what settings in gym/fastlane or the project file that could affect this and cause these problems.

Here are some more details:

  • Symbol files have been uploaded successfully and Crashlytics does not state that any symbol files are missing
  • We are using bitcode
  • We have set debug format to “DWARF with dSYM File”
  • When we build and upload to Testflight using Fastlane, and then re-upload symbols from Apple servers to Crashlytics, it works fine
  • I tried adding “include_symbols: true” in the Fastfile but it seems this is the default and it did not make a difference
  • Also tried changing “Symbols Hidden by Default” to NO in the project file but that didn’t help

I’m reluctant to post our complete Fastfile because it is large, but here is a snippet with the parts relevant for the Adhoc build.

Fastfile

  desc "Build AdHoc version"
  lane :adhoc do
    sh("rm -f ../build/*")
    match(type: "adhoc", readonly: true)
    build(configuration: "AdHoc", export_method: "ad-hoc", internal_beta: true)
  end

  private_lane :build do |options|
    gcc_flags = options[:gcc_flags]
    if options[:internal_beta]
      gcc_flags = "#{gcc_flags} INTERNAL_BETA=1"
    end
    gym(
      scheme: "xxxx",
      configuration: options.fetch(:configuration),
      clean: true,
      silent: true,
      # suppress_xcode_output: true,
      xcargs: "GCC_PREPROCESSOR_DEFINITIONS='$(inherited) #{gcc_flags}'",
      output_directory: "./build",
      export_method: options.fetch(:export_method),
      include_bitcode: true,
    )
  end

  desc "Upload build and symbols to Crashlytics"
  lane :fabric do |options|
    crashlytics(api_token: 'xxxx',
             build_secret: 'xxxx',
                   groups: ['xxx'],
                 ipa_path: options.fetch(:ipa_path),
            notifications: true)

    upload_symbols_to_crashlytics(
      api_token: 'xxxxx',
      dsym_path: options[:dsym_path],
      binary_path: options.fetch(:binary_path),
      dsym_worker_threads: 5)
  end

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 1
  • Comments: 31 (4 by maintainers)

Most upvoted comments

I was looking into this with @alexpersian and the Crashlytics team earlier today. We’re still trying to figure out the root cause, but as a short-term fix, it’s possible to update the original dSYMs using the BCSymbolMaps.

Running:

dsymutil --symbol-map <bcSymbol-file> <dsym-file>

will re-map the symbols for the original dSYM, removing the __hidden frames. You can then upload the re-mapped dSYM and future crashes will show symbolicated traces.

Apparently you can provide the option inline:

gym(
  ...
  export_options: {
    ...
    compileBitcode: false
  }
) 

When the option is enabled, on top of your original dSYM files it produces a dSYM for every library + a dSYM for every libswift*.dylib. Actually multiply that number by 2 if you are still building for 2 architectures (arm64 and armv7) as each UUID dSYM file contains only one architecture. So that may explain the difference in their number.

If you are only distributing a natively compiled app yourself though Ad-Hoc/Enterprise, what is the benefit you get from enabling bitcode in the first place? Your compilation produced both native arm64 and bitcode, then when extracting you drop the native and recompile bitcode into arm64 again.

From my logs, it appears that I have the same issue as @cyupa and @nebiros the dsymutil doesn’t find the corresponding symbolmap files. All the files inside the BCSymbolMaps directory have 36 character alphanumeric names. As an example: 6D054CF4-4DD7-3047-A061-99EA02D2ACB5.bcsymbolmap which is nowhere near the expected: AlamofireNetworkActivityLogger-armv7.bcsymbolmap AlamofireNetworkActivityLogger-arm64.bcsymbolmap

I’m having the same issue except I don’t get any status code. It seems that it doesn’t manage to map the dSYM files to the BCSymbolMaps. I also ran gym with "compileBitcode": false. I uploaded them manually in the end but I still end up with a couple of missing dSMYs.

Hope this helps 😃

[12:46:21]: ▸ Archive Succeeded
[12:46:22]: Generated plist file with the following values:
[12:46:22]: ▸ -----------------------------------------
[12:46:22]: ▸ {
[12:46:22]: ▸   "provisioningProfiles": {
[12:46:22]: ▸     "com.applicodo.cloudy": "match AdHoc com.applicodo.cloudy",
[12:46:22]: ▸     "com.applicodo.cloudy.watchkitapp": "match AdHoc com.applicodo.cloudy.watchkitapp",
[12:46:22]: ▸     "com.applicodo.cloudy.watchkitapp.watchkitextension": "match AdHoc com.applicodo.cloudy.watchkitapp.watchkitextension",
[12:46:22]: ▸     "com.applicodo.cloudy.todayextension": "match AdHoc com.applicodo.cloudy.todayextension"
[12:46:22]: ▸   },
[12:46:22]: ▸   "method": "ad-hoc",
[12:46:22]: ▸   "signingStyle": "manual",
[12:46:22]: ▸   "compileBitcode": false
[12:46:22]: ▸ }
[12:46:22]: ▸ -----------------------------------------
[12:46:22]: $ /usr/bin/xcrun /Users/cyupa/.rvm/gems/ruby-2.4.0/gems/fastlane-2.84.0/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist '/var/folders/t6/26w6dknn1mgfct19z1ct5gnh0000gn/T/gym_config20180305-17846-1baqo9v.plist' -archivePath /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive -exportPath '/var/folders/t6/26w6dknn1mgfct19z1ct5gnh0000gn/T/gym_output20180305-17846-moet7' -allowProvisioningUpdates 
[12:47:09]: Mapping dSYM(s) using generated BCSymbolMaps
[12:47:09]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/RealmSwift.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RealmSwift-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RealmSwift-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:09]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/RxRealmDataSources.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxRealmDataSources-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxRealmDataSources-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:09]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/Realm.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Realm-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Realm-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/GTMSessionFetcher.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/GTMSessionFetcher-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/GTMSessionFetcher-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/RxRealm.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxRealm-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxRealm-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/BezierPathLength.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/BezierPathLength-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/BezierPathLength-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/RxOptional.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxOptional-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxOptional-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/Protobuf.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Protobuf-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Protobuf-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/GoogleToolboxForMac.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/GoogleToolboxForMac-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/GoogleToolboxForMac-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/CodableAlamofire.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/CodableAlamofire-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/CodableAlamofire-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/SwiftLocation.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/SwiftLocation-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/SwiftLocation-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/SwiftyJSON.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/SwiftyJSON-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/SwiftyJSON-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:12]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/Cloudy.app.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Cloudy-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Cloudy-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:13]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/ObjectMapper_Realm.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/ObjectMapper_Realm-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/ObjectMapper_Realm-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:13]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/AlamofireNetworkActivityIndicator.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/AlamofireNetworkActivityIndicator-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/AlamofireNetworkActivityIndicator-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:13]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/RxCocoa.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxCocoa-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxCocoa-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:13]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/ObjectMapperAdditions.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/ObjectMapperAdditions-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/ObjectMapperAdditions-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:13]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/RxSwift.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxSwift-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/RxSwift-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:13]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/IOStickyHeader.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/IOStickyHeader-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/IOStickyHeader-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:13]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/nanopb.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/nanopb-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/nanopb-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:14]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/DynamicColor.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/DynamicColor-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/DynamicColor-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:14]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/Hero.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Hero-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Hero-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:14]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/PMAlertController.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/PMAlertController-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/PMAlertController-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:14]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/SwiftDate.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/SwiftDate-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/SwiftDate-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:14]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/ObjectMapper.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/ObjectMapper-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/ObjectMapper-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:14]: $ dsymutil --symbol-map /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/BCSymbolMaps /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy\ 2018-03-05\ 12.38.43.xcarchive/dSYMs/Alamofire.framework.dSYM
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Alamofire-armv7.bcsymbolmap: No such file or directory. Not unobfuscating.
warning: /Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/BCSymbolMaps/Alamofire-arm64.bcsymbolmap: No such file or directory. Not unobfuscating.
[12:47:14]: Compressing 26 dSYM(s)
[12:47:14]: $ cd '/Users/cyupa/Library/Developer/Xcode/Archives/2018-03-05/Cloudy 2018-03-05 12.38.43.xcarchive/dSYMs' && zip -r '/Volumes/Data/Projects/Personal/Cloudy/ios/Cloudy.app.dSYM.zip' *.dSYM
[12:47:19]: ▸   adding: Alamofire.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: Alamofire.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: Alamofire.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: Alamofire.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: Alamofire.framework.dSYM/Contents/Resources/DWARF/Alamofire (deflated 71%)
[12:47:19]: ▸   adding: Alamofire.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: AlamofireNetworkActivityIndicator.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: AlamofireNetworkActivityIndicator.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: AlamofireNetworkActivityIndicator.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: AlamofireNetworkActivityIndicator.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: AlamofireNetworkActivityIndicator.framework.dSYM/Contents/Resources/DWARF/AlamofireNetworkActivityIndicator (deflated 68%)
[12:47:19]: ▸   adding: AlamofireNetworkActivityIndicator.framework.dSYM/Contents/Info.plist (deflated 51%)
[12:47:19]: ▸   adding: BezierPathLength.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: BezierPathLength.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: BezierPathLength.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: BezierPathLength.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: BezierPathLength.framework.dSYM/Contents/Resources/DWARF/BezierPathLength (deflated 67%)
[12:47:19]: ▸   adding: BezierPathLength.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: Cloudy.app.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: Cloudy.app.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: Cloudy.app.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: Cloudy.app.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: Cloudy.app.dSYM/Contents/Resources/DWARF/Cloudy (deflated 70%)
[12:47:19]: ▸   adding: Cloudy.app.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: CodableAlamofire.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: CodableAlamofire.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: CodableAlamofire.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: CodableAlamofire.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: CodableAlamofire.framework.dSYM/Contents/Resources/DWARF/CodableAlamofire (deflated 68%)
[12:47:19]: ▸   adding: CodableAlamofire.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: DynamicColor.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: DynamicColor.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: DynamicColor.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: DynamicColor.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: DynamicColor.framework.dSYM/Contents/Resources/DWARF/DynamicColor (deflated 67%)
[12:47:19]: ▸   adding: DynamicColor.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: GTMSessionFetcher.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: GTMSessionFetcher.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: GTMSessionFetcher.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: GTMSessionFetcher.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: GTMSessionFetcher.framework.dSYM/Contents/Resources/DWARF/GTMSessionFetcher (deflated 64%)
[12:47:19]: ▸   adding: GTMSessionFetcher.framework.dSYM/Contents/Info.plist (deflated 51%)
[12:47:19]: ▸   adding: GoogleToolboxForMac.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: GoogleToolboxForMac.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: GoogleToolboxForMac.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: GoogleToolboxForMac.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: GoogleToolboxForMac.framework.dSYM/Contents/Resources/DWARF/GoogleToolboxForMac (deflated 61%)
[12:47:19]: ▸   adding: GoogleToolboxForMac.framework.dSYM/Contents/Info.plist (deflated 51%)
[12:47:19]: ▸   adding: Hero.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: Hero.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: Hero.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: Hero.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: Hero.framework.dSYM/Contents/Resources/DWARF/Hero (deflated 75%)
[12:47:19]: ▸   adding: Hero.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: IOStickyHeader.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: IOStickyHeader.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: IOStickyHeader.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: IOStickyHeader.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: IOStickyHeader.framework.dSYM/Contents/Resources/DWARF/IOStickyHeader (deflated 69%)
[12:47:19]: ▸   adding: IOStickyHeader.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: ObjectMapper.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper.framework.dSYM/Contents/Resources/DWARF/ObjectMapper (deflated 68%)
[12:47:19]: ▸   adding: ObjectMapper.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: ObjectMapperAdditions.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapperAdditions.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapperAdditions.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapperAdditions.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapperAdditions.framework.dSYM/Contents/Resources/DWARF/ObjectMapperAdditions (deflated 67%)
[12:47:19]: ▸   adding: ObjectMapperAdditions.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: ObjectMapper_Realm.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper_Realm.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper_Realm.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper_Realm.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: ObjectMapper_Realm.framework.dSYM/Contents/Resources/DWARF/ObjectMapper_Realm (deflated 66%)
[12:47:19]: ▸   adding: ObjectMapper_Realm.framework.dSYM/Contents/Info.plist (deflated 51%)
[12:47:19]: ▸   adding: PMAlertController.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: PMAlertController.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: PMAlertController.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: PMAlertController.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: PMAlertController.framework.dSYM/Contents/Resources/DWARF/PMAlertController (deflated 68%)
[12:47:19]: ▸   adding: PMAlertController.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: Protobuf.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: Protobuf.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: Protobuf.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: Protobuf.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: Protobuf.framework.dSYM/Contents/Resources/DWARF/Protobuf (deflated 68%)
[12:47:19]: ▸   adding: Protobuf.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: Realm.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: Realm.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: Realm.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: Realm.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: Realm.framework.dSYM/Contents/Resources/DWARF/Realm (deflated 76%)
[12:47:19]: ▸   adding: Realm.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: RealmSwift.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: RealmSwift.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: RealmSwift.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: RealmSwift.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: RealmSwift.framework.dSYM/Contents/Resources/DWARF/RealmSwift (deflated 70%)
[12:47:19]: ▸   adding: RealmSwift.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: RxCocoa.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: RxCocoa.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: RxCocoa.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: RxCocoa.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: RxCocoa.framework.dSYM/Contents/Resources/DWARF/RxCocoa (deflated 70%)
[12:47:19]: ▸   adding: RxCocoa.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: RxOptional.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: RxOptional.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: RxOptional.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: RxOptional.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: RxOptional.framework.dSYM/Contents/Resources/DWARF/RxOptional (deflated 69%)
[12:47:19]: ▸   adding: RxOptional.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: RxRealm.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: RxRealm.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: RxRealm.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: RxRealm.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: RxRealm.framework.dSYM/Contents/Resources/DWARF/RxRealm (deflated 70%)
[12:47:19]: ▸   adding: RxRealm.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: RxRealmDataSources.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: RxRealmDataSources.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: RxRealmDataSources.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: RxRealmDataSources.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: RxRealmDataSources.framework.dSYM/Contents/Resources/DWARF/RxRealmDataSources (deflated 71%)
[12:47:19]: ▸   adding: RxRealmDataSources.framework.dSYM/Contents/Info.plist (deflated 51%)
[12:47:19]: ▸   adding: RxSwift.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: RxSwift.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: RxSwift.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: RxSwift.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: RxSwift.framework.dSYM/Contents/Resources/DWARF/RxSwift (deflated 69%)
[12:47:19]: ▸   adding: RxSwift.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: SwiftDate.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: SwiftDate.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: SwiftDate.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: SwiftDate.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: SwiftDate.framework.dSYM/Contents/Resources/DWARF/SwiftDate (deflated 66%)
[12:47:19]: ▸   adding: SwiftDate.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: SwiftLocation.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: SwiftLocation.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: SwiftLocation.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: SwiftLocation.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: SwiftLocation.framework.dSYM/Contents/Resources/DWARF/SwiftLocation (deflated 69%)
[12:47:19]: ▸   adding: SwiftLocation.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: SwiftyJSON.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: SwiftyJSON.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: SwiftyJSON.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: SwiftyJSON.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: SwiftyJSON.framework.dSYM/Contents/Resources/DWARF/SwiftyJSON (deflated 70%)
[12:47:19]: ▸   adding: SwiftyJSON.framework.dSYM/Contents/Info.plist (deflated 52%)
[12:47:19]: ▸   adding: nanopb.framework.dSYM/ (stored 0%)
[12:47:19]: ▸   adding: nanopb.framework.dSYM/Contents/ (stored 0%)
[12:47:19]: ▸   adding: nanopb.framework.dSYM/Contents/Resources/ (stored 0%)
[12:47:19]: ▸   adding: nanopb.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[12:47:19]: ▸   adding: nanopb.framework.dSYM/Contents/Resources/DWARF/nanopb (deflated 60%)
[12:47:19]: ▸   adding: nanopb.framework.dSYM/Contents/Info.plist (deflated 52%)

[12:47:19]: Successfully exported and compressed dSYM file
[12:47:19]: Successfully exported and signed the ipa file:
[12:47:19]: /Volumes/Data/Projects/Personal/Cloudy/ios/Cloudy.ipa
[12:47:19]: -----------------------------
[12:47:19]: --- Step: last_git_commit ---
[12:47:19]: -----------------------------
[12:47:19]: -------------------------
[12:47:19]: --- Step: crashlytics ---
[12:47:19]: -------------------------
[12:47:19]: To not be asked about this value, you can specify it using 'api_token'
[12:47:19]: Crashlytics API Key: ****************************************
[12:48:25]: To not be asked about this value, you can specify it using 'build_secret'
[12:48:25]: Crashlytics Build Secret: ****************************************************************
[12:48:29]: Uploading the build to Crashlytics Beta. Time for some ☕️.
[12:48:46]: Build successfully uploaded to Crashlytics Beta 🌷
[12:48:46]: Visit https://fabric.io/_/beta to add release notes and notify testers.
[12:48:46]: -------------------------------------------
[12:48:46]: --- Step: upload_symbols_to_crashlytics ---
[12:48:46]: -------------------------------------------
[12:48:47]: invalid byte sequence in UTF-8
[12:48:47]: invalid byte sequence in UTF-8
[12:48:47]: Extracting '/Volumes/Data/Projects/Personal/Cloudy/ios/Cloudy.app.dSYM.zip'...
[12:48:47]: $ unzip -qo /Volumes/Data/Projects/Personal/Cloudy/ios/Cloudy.app.dSYM.zip
[12:48:48]: Uploading 'RealmSwift.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'RxRealmDataSources.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'Realm.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'GTMSessionFetcher.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'RxRealm.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'BezierPathLength.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'RxOptional.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'Protobuf.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'GoogleToolboxForMac.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'CodableAlamofire.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'SwiftLocation.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'SwiftyJSON.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'Cloudy.app.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'ObjectMapper_Realm.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'AlamofireNetworkActivityIndicator.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'RxCocoa.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'ObjectMapperAdditions.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'RxSwift.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'IOStickyHeader.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'nanopb.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'DynamicColor.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'Hero.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'PMAlertController.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'SwiftDate.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'ObjectMapper.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:48]: Uploading 'Alamofire.framework.dSYM'...
[12:48:48]: Shell command exited with exit status  instead of 0.
[12:48:49]: Successfully uploaded dSYM files to Crashlytics 💯

Fastlane env:

✅ fastlane environment ✅

Stack

Key Value
OS 10.13.3
Ruby 2.4.0
Bundler? true
Git git version 2.14.3 (Apple Git-98)
Installation Source ~/.rvm/gems/ruby-2.4.0/bin/fastlane
Host Mac OS X 10.13.3 (17D102)
Ruby Lib Dir ~/.rvm/rubies/ruby-2.4.0/lib
OpenSSL Version OpenSSL 1.1.0e 16 Feb 2017
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcode.app/Contents/Developer/
Xcode Version 9.2

System Locale

Variable Value
LANG en_US.UTF-8
LC_ALL en_US.UTF-8
LANGUAGE

fastlane files:

`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://docs.fastlane.tools/actions
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "2.58.0"

default_platform :ios

platform :ios do
  before_all do
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
    cocoapods

  end

  desc "Runs all the tests"
  lane :test do
    scan
    slather
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    increment_build_number
    match(type: "adhoc") # more information: https://codesigning.guide
    gym(
      scheme: "Cloudy",
      export_options: {
        "provisioningProfiles": {
          "com.applicodo.cloudy": "match AdHoc com.applicodo.cloudy",
          "com.applicodo.cloudy.watchkitapp": "match AdHoc com.applicodo.cloudy.watchkitapp",
          "com.applicodo.cloudy.watchkitapp.watchkitextension": "match AdHoc com.applicodo.cloudy.watchkitapp.watchkitextension",
          "com.applicodo.cloudy.todayextension": "match AdHoc com.applicodo.cloudy.todayextension"
        },
        "method": "ad-hoc",
        "signingStyle": "manual",
        "compileBitcode": false
      }
    )
    commit = last_git_commit
    crashlytics(notes: commit[:message])
    upload_symbols_to_crashlytics
    clean_build_artifacts
    commit_version_bump
    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

  desc "Deploy a new version to the App Store"
  lane :release do
    match(type: "appstore")
    # snapshot
    test
    gym(scheme: "Cloudy") # Build your app - more options available
    deliver(force: true)
    # frameit
  end

  # You can define as many lanes as you want

  after_all do |lane|
    # This block is called, only if the executed lane was successful

    slack(
      message: "Successfully deployed new App Update."
    )
  end

  error do |lane, exception|
    slack(
      message: exception.message,
      success: false
    )
  end
end


# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://docs.fastlane.tools/actions

# fastlane reports which actions are used. No personal data is recorded.
# Learn more at https://github.com/fastlane/fastlane#metrics

`./fastlane/Appfile`
app_identifier "com.applicodo.cloudy" # The bundle identifier of your app
apple_id "ciprian.redinciuc@me.com" # Your Apple email address

team_id "RD2SS7229H" # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem Version Update-Status
fastlane 2.84.0 ✅ Up-To-Date

Loaded fastlane plugins:

Plugin Version Update-Status
fastlane-plugin-codecov_reporter 0.1.2 ✅ Up-To-Date
Loaded gems
Gem Version
did_you_mean 1.1.0
executable-hooks 1.3.2
bundler-unload 1.0.2
rubygems-bundler 1.4.4
bundler 1.15.3
io-console 0.4.6
CFPropertyList 2.3.6
concurrent-ruby 1.0.5
i18n 0.9.5
minitest 5.11.3
thread_safe 0.3.6
tzinfo 1.2.5
activesupport 4.2.10
public_suffix 2.0.5
addressable 2.5.2
atomos 0.1.2
babosa 1.0.2
claide 1.0.2
clamp 0.6.5
fuzzy_match 2.0.4
nap 1.1.0
cocoapods-core 1.4.0
cocoapods-deintegrate 1.0.2
cocoapods-downloader 1.1.3
cocoapods-plugins 1.0.0
cocoapods-search 1.0.0
cocoapods-stats 1.0.0
netrc 0.11.0
cocoapods-trunk 1.3.0
cocoapods-try 1.1.0
colored2 3.1.2
escape 0.0.4
fourflusher 2.0.1
gh_inspector 1.1.2
molinillo 0.6.4
ruby-macho 1.1.0
nanaimo 0.2.3
xcodeproj 1.5.6
cocoapods 1.4.0
colored 1.2
highline 1.7.10
commander-fastlane 4.4.6
declarative 0.0.10
declarative-option 0.1.0
unf_ext 0.0.7.5
unf 0.1.4
domain_name 0.5.20170404
dotenv 2.2.1
excon 0.60.0
multipart-post 2.0.0
faraday 0.14.0
http-cookie 1.0.3
faraday-cookie_jar 0.0.6
faraday_middleware 0.12.2
fastimage 2.1.1
jwt 2.1.0
little-plugger 1.1.4
multi_json 1.13.1
logging 2.2.2
memoist 0.16.0
os 0.9.6
signet 0.8.1
googleauth 0.6.2
httpclient 2.8.3
mime-types-data 3.2016.0521
mime-types 3.1
uber 0.1.0
representable 3.0.4
retriable 3.1.1
google-api-client 0.13.6
json 2.1.0
mini_magick 4.5.1
multi_xml 0.6.0
plist 3.4.0
rubyzip 1.2.1
security 0.1.3
slack-notifier 2.3.2
terminal-notifier 1.8.0
unicode-display_width 1.3.0
terminal-table 1.8.0
tty-screen 0.6.4
tty-cursor 0.5.0
tty-spinner 0.8.0
word_wrap 1.0.0
rouge 2.0.7
xcpretty 0.2.8
xcpretty-travis-formatter 1.0.0
fastlane-plugin-codecov_reporter 0.1.2
mini_portile2 2.3.0
nokogiri 1.8.2
slather 2.4.5

generated on: 2018-03-05

Wanted to drop in with an update on my search. I have been able to narrow it down to the swift from Xcode 8.3.3 to Xcode 9.0. Going back to the commit before our Swift 4 conversion and running the same gym command using each version produces different results.

Xcode 8.3.3: No .bcsymbolmap files included in the compressed dSYM package. No __hidden symbols Xcode 9.0: .bcsymbolmap files included, and symbols are obfuscated with __hidden

Again the only thing changing in this comparison is the Xcode version. After inspecting the build settings for each the differences are a couple of added build settings from Xcode 9.0.

COMPILER_INDEX_STORE_ENABLE = Default
KASAN_DEFAULT_CFLAGS = -DKASAN=1 -fsanitize=address -mllvm -asan-globals-live-support -mllvm -asan-force-dynamic-shadow
STRIP_SWIFT_SYMBOLS = YES

The problem seems to happen only in the ad-hoc export method in XCode9. When it is used, all the components are being recompiled from bitcode, and swift symbols are being removed (effectively rebuilding all the runtime libswift*.dylib files and generating new dSYMs for them as well). These are new defaults: https://www.dropbox.com/s/8zkuy5awk3tkw9w/Screenshot 2017-11-22 13.06.47.png?dl=0

The xcodebuild flags that should be put into the generated plist (-exportOptionsPlist) to prevent that from happening are:

compileBitcode : Bool For non-App Store exports, should Xcode re-compile the app from bitcode? Defaults to YES. stripSwiftSymbols : Bool Should symbols be stripped from Swift libraries in your IPA? Defaults to YES.

Luckily, it is possible to override the plist options altogether for now. That may be a good interim solution until the two options are added to gym (sound like they should be added):

  gym(
        export_method: "ad-hoc”,
        export_options: "./ExportOptions.plist",
        include_bitcode: true
  )

The contents of ExportOptions.plist (copy the existing one and add the 2 flags there):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>method</key>
        <string>ad-hoc</string>
        ....
        <key>compileBitcode</key>
        <string>YES</string>
        <key>stripSwiftSymbols</key>
        <string>NO</string>
</dict>
</plist>

no need to remap dSYM files back, everything is intact.

Good news everyone! The short-term fix that @alexsinger mentioned above worked. It’s a slow, manual process at this point but it does work and we are able to upload the non-obfuscated symbol files to Fabric for our future builds.

In order to symbolicate manually:

  1. Open a dSYM package in Sublime, Atom, etc. There’s a Resources folder within that contains a plist file named the same as the dSYM. This has a key in it called DBGOriginalUUID which holds the name of the BCSymbolMap file needed to symbolicate
  2. Run the command above with the BCSymbolMap name along with dSYM name. (they will be different)

This should symbolicate the file so that it can be uploaded to Fabric. I haven’t found an automated solution for this work yet, but when I do I’ll post it here.

To add some further information I’ve tested with the fastlane gym build in two states, Bitcode ON and Bitcode OFF.

  • Bitcode ON => UUID based files along with .app and .framework files. __hidden symbols in UUID files
  • Bitcode OFF => No UUID based files, no __hidden symbols since they are only contained in the UUID files

This is something new with Xcode 9 as we’ve had Bitcode enabled forever. Unfortunately I can’t regress and gather information from Xcode 8.3 since our project was converted to Swift 4.

About the use of bitcode… In our case we have to use it because we have an Apple Watch app and it requires bitcode compilation.

@alexpersian my bad, I thought we were talking about a testflight or app store build.

Seeing the same issues with our application and have been chasing down potential causes for the last week. The “more details” section of the original post matches all of the things we’ve tried so far to resolve this.

This seems to be exclusive to the UUID based dSYM files, and the .app.dSYM / .framework.dSYM files are properly symbolicated.

  • Fabric reports zero missing dSYMs, but all crashes are symbolicated with __hidden
  • This issue has been tracked down to first appearing when our CI was moved from Xcode 8.3.3 to Xcode 9.0

@taquitos this is also unrelated to the download_dsyms action AFAIK since the files are never uploaded to iTC during the Fabric based build flows.