Giter Site home page Giter Site logo

gym's People

Contributors

bartoszj avatar brianmichel avatar cbowns avatar cbrockschmidt avatar dbireta-mediafly avatar hughjeffner avatar ide avatar igor-makarov avatar jessecrocker avatar jinjorge avatar johncblandii avatar joshrlesch avatar jsambuo avatar krausefx avatar lacostej avatar masa-beheim avatar maxgoedjen avatar mfurtak avatar mpirri avatar mrgrauel avatar mrniket avatar ngs avatar ohayon avatar olegoid avatar radex avatar readmecritic avatar thelvis4 avatar tmm1 avatar vpolouchkine avatar xfreebird avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gym's Issues

error in swift_fix.rb

I upgraded to the latest gym today (I was still on 0.1.0) and my build crashes on the Swift library:

INFO [2015-08-20 22:34:23.13]: Checking for Swift framework
INFO [2015-08-20 22:34:23.13]: Packaging up the Swift Framework as the current app is a Swift app
/Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/xcodebuild_fixes/swift_fix.rb:32:in `block (2 levels) in swift_library_fix': undefined method `print_command' for Gym::XcodebuildFixes:Class (NoMethodError)
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/xcodebuild_fixes/swift_fix.rb:29:in `chdir'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/xcodebuild_fixes/swift_fix.rb:29:in `block in swift_library_fix'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tmpdir.rb:88:in `mktmpdir'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/xcodebuild_fixes/swift_fix.rb:15:in `swift_library_fix'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/runner.rb:17:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/manager.rb:8:in `work'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/commands_generator.rb:43:in `block (2 levels) in run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/commands_generator.rb:60:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/lib/gym/commands_generator.rb:14:in `start'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.3/bin/gym:6:in `<top (required)>'
    from /usr/bin/gym:23:in `load'
    from /usr/bin/gym:23:in `<main>'

Specify Gymfile

At the moment, i want to have multiple gym files so that i have a different configuration for dev, ad-hoc and release.
Could you make it so that when i do gym i can specify a gymfile name e.g.
"gym devGymFile"
"gym adHocGymFile"

Thanks

Codesigning not working correctly (Missing code-signing certificate)

This might be an error on my part, I'm not sure if this should work with gym alone, or if some other fastlane tool is required for this step... I'm just getting started using fastlane tools 😄

When building my project with gym and then trying it to iTunes (with both, pilot or the Application Loader), i get this error:

ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.ikangai.qlauncher [Payload/qonnect scan.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."

I have already tried the --provisioning_profile_name option, but it still did not work. This is the (i think) relevant output from gym when exporting the .ipa:

[12:03:23]: /usr/bin/xcrun -sdk iphoneos PackageApplication -v '/Users/mexx/Library/Developer/Xcode/Archives/2015-08-13/qonnect scan 2015-08-13 12.01.54.xcarchive/Products/Applications/qonnect scan.app' -o '/Users/mexx/Library/Developer/Xcode/Archives/2015-08-13/qonnect scan.ipa' exportFormat ipa --embed 'iOSTeam Provisioning Profile: com.ikangai.qlauncher'

When exporting the archive from the Xcode Organizer with "Save for iOS App Store Deployment", everything works though.

Missing Destination specifier in build command

I'm getting the following error when running gym:

xcodebuild: error: missing value for key 'platform' of option 'Destination'

I see the build command used is missing the parameter.

set -o pipefail && xcodebuild -workspace './MyApp.xcworkspace' -scheme 'MyApp-Release' -destination 'generic/platform=' -archivePath '/path/to/MyApp.xcarchive' archive | xcpretty

The issue is because there is nothing after the = in the -destination argument. Adding 'ios' in there manually fixes the issue and starts the compilation.

I invoke gym in my Fastfile:

lane :testflight do |options|
    if ENV["PROFILE_UDID"].nil? || ENV["PROFILE_UDID"].empty?
      # perform sigh if the provisioning profile UDID has not been specified.
      sigh
      ENV["PROFILE_UDID"] = Actions.lane_context[Actions::SharedValues::SIGH_UDID]  # use the UDID of the newly created provisioning profile
    end

    raise "No scheme provided. Use IOS_SCHEME environment variable" unless ENV["IOS_SCHEME"]
    gym(scheme: ENV["IOS_SCHEME"] ) # Build your app - more options available
    testflight
end

fastlane 1.18.0
gym 0.4.0

Gym does not generate a zipped dsym file

Hi @KrauseFx, thanks for moving forward with the shenzhen replacement! I gave it a go and it almost works already. Only problem so far is I had to specify output_directory and pass that along to hockey so it could find the ipa file.
This works fine except there's a: Symbols not found on path _ output_directory_ Crashes won't be symbolicated properly warning because gym doesn't put a dsym file in output_directory.

Cannot upload the ipa built with gym to iTunesConnect

Previously, I used shenzhen ipa and deliver, and I successfully uploaded the ipa to iTunesConnect.
But, after I change to gym from ipa, I got this message from Apple.

Dear developer,

We have discovered one or more issues with your recent delivery for "Player! - Your Best Sport Feed, Your New Sport Life". To process your delivery, the following issues must be corrected:

Invalid Swift Support - The bundle contains an invalid implementation of Swift. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.

Once these issues have been corrected, you can then redeliver the corrected binary.

Regards,

The App Store team

Error packaging up the application (RuntimeError)

I've always had great success building with shenzhen command, but gym hasn't been working for me at all (in versions 0.10 through 0.3.1). Running this command:
gym -w "My App.xcworkspace" -s "My App"

Results in this error:
error: An application was not specified.

For a little more background, here's the xcrun command it tries to run:
/usr/bin/xcrun /tmp/PackageApplication4Gym -v '' -o '/Users/erickuck/Library/Developer/Xcode/Archives/2015-08-14/My App.ipa' exportFormat ipa --embed '/Users/erickuck/Code/iOS/My App/AppStore_com.myapp.mobileprovision' && rm '/tmp/PackageApplication4Gym'

And here's the stacktrace of the full error:

/Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/error_handler.rb:77:in `handle_package_error': Error packaging up the application (RuntimeError)
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/runner.rb:85:in `block in package_app'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.14.0/lib/fastlane_core/command_executor.rb:52:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.14.0/lib/fastlane_core/command_executor.rb:52:in `execute'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/runner.rb:81:in `package_app'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/runner.rb:11:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/manager.rb:8:in `work'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/commands_generator.rb:43:in `block (2 levels) in run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/commands_generator.rb:60:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/lib/gym/commands_generator.rb:14:in `start'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.3.1/bin/gym:6:in `<top (required)>'
    from /usr/bin/gym:23:in `load'
    from /usr/bin/gym:23:in `<main>'

I'd be happy to help out with whatever debugging and testing needs to be done to get to the bottom of this.

undefined method `print_command'

I'm trying to build project using jenkins and gym 0.2.0, it almost succeeds, but finally throws following error:

00:07:20.972 �[37mINFO [2015-08-13 20:12:25.04]: �[0mApplying Package Application patch: codesign_args_patch.diff
00:07:20.974 /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/xcode_fix.rb:30:in `block (2 levels) in patch_package_application': undefined method `print_command' for Gym::XcodeFix:Class (NoMethodError)
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/xcode_fix.rb:27:in `each'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/xcode_fix.rb:27:in `block in patch_package_application'
00:07:20.974    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/tmpdir.rb:88:in `mktmpdir'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/xcode_fix.rb:14:in `patch_package_application'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/package_command_generator.rb:9:in `generate'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/runner.rb:75:in `package_app'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/runner.rb:11:in `run'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/manager.rb:8:in `work'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/commands_generator.rb:43:in `block (2 levels) in run'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/commands_generator.rb:60:in `run'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/lib/gym/commands_generator.rb:14:in `start'
00:07:20.974    from /Library/Ruby/Gems/2.0.0/gems/gym-0.2.0/bin/gym:6:in `<top (required)>'
00:07:20.974    from /usr/bin/gym:23:in `load'
00:07:20.974    from /usr/bin/gym:23:in `<main>'

00:07:24.281 Build step 'Execute shell' marked build as failure

I'm running gym with following options:

gym build --verbose --configuration ${CONFIGURATION} --scheme MyApp \
--output_name myapp-${CONFIGURATION}-2.0.${BUILD_NUMBER}.ipa \
--output_directory ${WORKSPACE}/build/${CONFIGURATION} \
-i "${CODE_SIGNING_IDENTITY}" \
-x "PROVISIONING_PROFILE=${PROVISIONING_PROFILE}" \

CODE_SIGNING_IDENTITY and PROVISIONING_PROFILE are supplied by jenkins' plugins and are valid.

gym tries to reinstall a provisioning profile

used like

export PP="${HOME}/Library/MobileDevice/Provisioning Profiles/${PROVISIONING_PROFILE}.mobileprovision"

rvm-exec ruby-2.2.2 \
gym build -p "${xcodeproj}" -s "${scheme}"  \
  -o "target/" \
  -n "${ipa}" \
  --provisioning_profile_path "${PP}"

[...]

[19:48:50]: Installing provisioning profile...
[19:48:50]: Provisioning profile of app 'xxxxxx' with the name 'xxxxxxxxx' successfully analysed.
/Users/lacostej/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:1569:in `block in fu_each_src_dest': same file: /Users/lacostej/Library/MobileDevice/Provisioning Profiles/47ff014a-3ca5-416c-9787-aa66169xxxxx.mobileprovision and /Users/lacostej/Library/MobileDevice/Provisioning Profiles/47ff014a-3ca5-416c-9787-aa66169xxxxx.mobileprovision (ArgumentError)
    from /Users/lacostej/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:1586:in `fu_each_src_dest0'
    from /Users/lacostej/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:1568:in `fu_each_src_dest'
    from /Users/lacostej/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/fileutils.rb:401:in `cp'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/fastlane_core-0.13.0/lib/fastlane_core/provisioning_profile.rb:55:in `install'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/lib/gym/detect_values.rb:65:in `detect_provisioning_profile'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/lib/gym/detect_values.rb:20:in `set_additional_default_values'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/lib/gym.rb:23:in `config='
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/lib/gym/manager.rb:4:in `work'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/lib/gym/commands_generator.rb:43:in `block (2 levels) in run'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/lib/gym/commands_generator.rb:60:in `run'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/lib/gym/commands_generator.rb:14:in `start'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/gems/gym-0.1.0/bin/gym:6:in `<top (required)>'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/bin/gym:23:in `load'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/bin/gym:23:in `<main>'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
    from /Users/lacostej/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'

Custom output_name variables

It would be nice if I could add to output_name number of build. In my script from build phases it was getting by line buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")

Then, in gymfile:
output_name "MyApp_v{build}"
or something like that.

What do yout think about this?

Trying out the new gym - heh

gym is failing to complete the package_app step. The .ipa is created and copied to the Archives subfolder. But gym seems to see an error and logs a failure.

Output:

Results at '/var/folders/r_/l_xg7zj579l55_kbh92_2_sh0000gp/T/51693FD7-2764-430A-B41A-BF608FFCE33B-28226-000042AA09D08668/Ellucian GO.ipa'
Moving exported product to '/Users/bhansen/Library/Developer/Xcode/Archives/2015-08-10/Ellucian GO.ipa'
** EXPORT SUCCEEDED **
/Library/Ruby/Gems/2.0.0/gems/gym-0.0.1/lib/gym/error_handler.rb:74:in `handle_package_error': Error packaging up the application (RuntimeError)
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.0.1/lib/gym/runner.rb:78:in `block in package_app'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.0.1/lib/gym/runner.rb:162:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.0.1/lib/gym/runner.rb:162:in `execute_command'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.0.1/lib/gym/runner.rb:77:in `package_app'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.0.1/lib/gym/runner.rb:11:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.0.1/lib/gym/manager.rb:8:in `work'

Gym not using bundle identifier automatically?

Hi again dear Krause,

I have this code like this:

...
ENV["PROFILE_UDID"] = {Return_value_of_sigh}
...
    ipa({
      workspace: "NAME.xcworkspace",
      configuration: "Release",
      scheme: "NAME",
      clean: true
    })


This is the code I'd like to use:
   gym(
       workspace: "NAME.xcworkspace",
       scheme: "NAME",
       configuration: "Release",
       clean: true,
       silent: true
    )

But gym asks me to select a provisioning profile, which makes the automated process break if I don't always use "sigh" first and export that to env varaible (which I don't know if it will ever happen, but just in case).

Could this be automatically done by obtaining the bundle identifier in some way if not? This would make lanes even more independent.

Thanks again!!

Action 'gym' doesn't support required operating system 'mac'.

On Fastfile I have this. This is a Mac app.

    gym(
        project: "LGTM.xcodeproj"
    )

fastlane mac deploy --trace gave me this.

[02:54:58]: fastlane finished with errors
/Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/runner.rb:158:in `verify_supported_os': Action 'gym' doesn't support required operating system 'mac'. (RuntimeError)
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/runner.rb:124:in `execute_action'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/fast_file.rb:124:in `method_missing'
    from (eval):38:in `block (3 levels) in parse'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/runner.rb:48:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/runner.rb:48:in `block in execute'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/runner.rb:46:in `chdir'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/runner.rb:46:in `execute'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/lane_manager.rb:43:in `cruise_lane'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/lib/fastlane/command_line_handler.rb:31:in `handle'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/bin/fastlane:34:in `block (2 levels) in run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/bin/fastlane:123:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.21.0/bin/fastlane:129:in `<top (required)>'
    from /usr/bin/fastlane:23:in `load'
    from /usr/bin/fastlane:23:in `<main>'
$ gym --version
gym 0.4.5

Not sure how to specify an xcconfig

My GymFile:

scheme "[REDACTED]"
configuration "Release"
clean true
silent true

output_directory "./"

and then in my FastFile:

lane :beta do
  prepare

  gym(
    xcconfig: "config/Debug.xcconfig", # Load extra flags from xcconfig for beta builds
    output_name: "[REDACTED].ipa",
  )

  finalize
end

finalize is a private_lane I created, so is prepare

The point is, that gym gives me this output:

[15:05:55]: -----------------
[15:05:55]: --- Step: gym ---
[15:05:55]: -----------------

+---------------+-------------------------+
|         Building Application 🚀          |
+---------------+-------------------------+
| Project       | ./[REDACTED].xcodeproj |
| Scheme        | [REDACTED]             |
| Configuration | Release                 |
| Platform      | iOS                     |
| Xcode Path    | /Applications/Xcode.app |
+---------------+-------------------------+


-----

And I can't see any xcconfig specified here. Am I missing something?

mobileprovision for gym configuration in Fastfile

In Fastfile we used so far:
embed: "./example.mobileprovision", # Sign .ipa file with .mobileprovision

Is there a way to tell gym to do the same?
I can see the -i or --codesigning_identity parameter but not quite sure how to say this in Fastfile

Is there a way to hide some of the warnings

Now that I got to see what a clean output is, I want more!

I have a project containing lots of generated code which unfortunately produces a lot of warnings.

⚠️  /Users/lacostej/Code/............./Classes/Native/Bulk_mscorlib_4.cpp:39724:416: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-3

*((uint32_t*)(uint32_t*)SZArrayLdElema(L_117, ((int32_t)9))) = (uint32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)((int32_t)(*(uint8_t*)(uint8_t*)SZArrayLdElema(L_118, L_120))<<(int32_t)((int32_t)24)))|(int32_t)((int32_t)((int32_t)(*(uint8_t*)(uint8_t*)SZArrayLdElema(L_121, L_123))<<(int32_t)((int32_t)16)))))|(int32_t)((int32_t)((int32_t)(*(uint8_t*)(uint8_t*)SZArrayLdElema(L_124, L_126))<<(int32_t)8))))|(int32_t)(*(uint8_t*)(uint8_t*)SZArrayL~

I wonder if there's a simple way to hide those.

Show provisioning profile and cert used

A nice to have, when you use the Xcode build command then it outputs the cert and provisioning profile.
Could you make it so that gym does this, as when I view the build logs, I can see historically what was used.

Mssing "Building Application" information: "Configuration"

Gym(0.1.0) works correctly, but I want "Building Application" information: "Configuration".

screen shot 2015-08-12 at 11 14 49

+-----------+--------------------+
|      Building Application      |
+-----------+--------------------+
| Workspace | Player.xcworkspace |
| Scheme    | Player             |
+-----------+--------------------+

[11:14:42]: set -o pipefail && xcodebuild -workspace 'Player.xcworkspace' -scheme 'Player' -configuration 'AdHoc' -destination 'generic/platform=iOS' -archivePath '/Users/mono/Library/Developer/Xcode/Archives/2015-08-12/Player 2015-08-12 11.14.42.xcarchive' archive | xcpretty

`destination` parameter value invalid when building for `iOS Simulator` platform

When building something to run in the simulator, the default Gym destination value generic/platform=iOS is being set, which isn't valid for the iOS simulator platform.

Usually when I use xcodebuild to build for simulators, I do not have to specify a destination parameter, the sdk parameter is enough.

Would it be possible to not set the destination default value (generic/platform=iOS) when the sdk parameter is passed?

Add Symbols folder to the ipa

It would be great if there was an option to add the Symbols folder to the ipa just like Xcode does so crash reports from iTunes Connect can be symbolicated.

I have been using a fastlane action to do this but I think it would be good if it was part of gym. I only know enough Ruby to make me dangerous, but here is the action if anyone want to add it to gym.

ipa_path = File.expand_path(Actions.lane_context[Actions::SharedValues::IPA_OUTPUT_PATH])
app_name = File.basename(ipa_path, ".ipa")
folder_path = File.dirname(ipa_path)

Dir.mktmpdir do |dir|
    app_binary = File.join(dir, "Payload", "#{app_name}.app", app_name)
    symbols = File.join(dir, "Symbols")

    Actions.sh "unzip \"#{ipa_path}\" -d \"#{dir}\""
    Actions.sh "mkdir \"#{symbols}\""
    Actions.sh "xcrun symbols -noTextInSOD -noDaemon -arch all -symbolsPackageDir \"#{symbols}\" \"#{app_binary}\""

    all_folders = Dir.glob(File.join(dir, "*")).map { |f| "\"#{File.basename(f)}\"" }.join(" ")

    Actions.sh "cd \"#{dir}\" && zip -r \"#{ipa_path}\" #{all_folders}"
end

Could not fetch PLATFORM_DISPLAY_NAME from project file: undefined method `split' for nil:NilClass

After upgrading to the latest 0.4.1 version I get this error. I never saw it before and the ipa file is created.

[23:19:09]: xcrun xcodebuild -showBuildSettings -project './WeeRockets.xcodeproj'
[23:19:10]: /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym/project.rb:85:in `build_settings'
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym/detect_values.rb:132:in `detect_platform'
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym/detect_values.rb:20:in `set_additional_default_values'
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym.rb:28:in `config='
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym/manager.rb:4:in `work'
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym/commands_generator.rb:43:in `block (2 levels) in run'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym/commands_generator.rb:60:in `run'
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/lib/gym/commands_generator.rb:14:in `start'
    /Library/Ruby/Gems/2.0.0/gems/gym-0.4.1/bin/gym:6:in `<top (required)>'
    /usr/bin/gym:23:in `load'
    /usr/bin/gym:23:in `<main>'
[23:19:10]: Could not fetch PLATFORM_DISPLAY_NAME from project file: undefined method `split' for nil:NilClass

Invalid Swift Support on submission

I used gym to compile one of my targets and it succeeds and incorporated the WatchKit extension correctly (as of this morning update). However when submitted to ITC, it was rejected as an invalid binary with the following message:

Invalid Swift Support - The bundle contains an invalid implementation of Swift. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.

This app does contain Swift, but it is still currently a small portion, with the majority being ObjC. I compared the IPA created by gym to the one created by Xcode and I found the following differences:

gym

  • Payload
  • WatchKitSupport

Xcode

  • Payload
  • SwiftSupport
  • Symbols
  • WatchKitSupport

Built using Xcode 6.2 on OS X 10.9. No other versions of Xcode are installed.

Not sure what's going on. I'd be happy to provide other information if needed. Thanks!

Crash when trying to use gym

So I used gym to build my app once and it worked out of the box perfectly.

Then, I added a provisioning profile to the same directory as the .xcworkspace and the command now crashes (output bellow). If I take the provisioning profile out of that directory, it works again.

My intention was to use the 'provisioning_profile_path' parameter to specify the provisioning I want to sign with.

Let me know if you need more information.

  • Nicolass-MacBook-Pro:ProjectPortal user$ gym
  • [21:53:02]: xcrun xcodebuild -showBuildSettings -workspace './ProjectPortal.xcworkspace'
  • xcodebuild: error: If you specify a workspace then you must also specify a scheme. Use -list to see the schemes in this workspace.
  • [21:53:02]: Installing provisioning profile...
  • /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in require': cannot load such file -- plist (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:inrequire'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.14.0/lib/fastlane_core/provisioning_profile.rb:25:in parse' from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.14.0/lib/fastlane_core/provisioning_profile.rb:38:inuuid'
    from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.14.0/lib/fastlane_core/provisioning_profile.rb:45:in install' from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/lib/gym/detect_values.rb:54:indetect_provisioning_profile'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/lib/gym/detect_values.rb:21:in set_additional_default_values' from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/lib/gym.rb:28:inconfig='
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/lib/gym/manager.rb:4:in work' from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/lib/gym/commands_generator.rb:43:inblock (2 levels) in run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in call' from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:incall'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in run' from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:inrun_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in run!' from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:inrun!'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/lib/gym/commands_generator.rb:60:in run' from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/lib/gym/commands_generator.rb:14:instart'
    from /Library/Ruby/Gems/2.0.0/gems/gym-0.4.2/bin/gym:6:in <top (required)>' from /usr/bin/gym:23:inload'
    from /usr/bin/gym:23:in `'

project option doesn't work ?

I have multiple .xcodeproj file.
So I tried gym in Fastfile like this.

  gym(
    project: "MyApp.xcodeproj",
    scheme:  "MyApp",
    output_name: "MyApp.ipa",
    silent:  true,
    provisioning_profile_path: "MyApp.mobileprovision",
    xcargs:  "-xcconfig MyApp.xcconfig",
    clean:   true,
  )

And it failing like this.

xcodebuild: error: The directory /Users/toshi0383/dvideo/app contains 2 projects, including multiple projects with the current extension (.xcodeproj). Specify the project to use with the -project option.

Should I specify "output_directory" option or something before `deliver`?

I got this error, when trying to run deliver command after gym command.

Could not find an ipa file for 'beta' mode. Provide one using `beta_ipa do ... end` in your Deliverfile.

The Fastfile's codes is here:

gym(
  workspace: WORKSPACE,
  scheme: SCHEME,
  configuration: "Release",
  output_directory: "./fastlane" # *1
)

deliver(
  skip_deploy: true,
  beta: true
)

I think that gym's default output_directory is ~/Library/Developer/Xcode/Archives/, so default deliver command fails to find the ipa file.
https://github.com/KrauseFx/deliver/blob/master/lib/deliver/deliver_process.rb#L166-L189

If I specify output_directory: "./fastlane" to gym, deliver command succeeded. (*1)

Before I introduced gym, I used shenzhen ipa command without output_directory option.
I switched to gym today, so what is the correct choice to run gym and deliver.

gym output_directory

I get the following error.

Error setting value './build' for option 'output_directory'
You passed invalid parameters to 'gym'.
Check out the error below and available options by running `fastlane action gym`
Variable Dump:
{:DEFAULT_PLATFORM=>:ios, :ENVIRONMENT=>nil, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta"}
Directory not found at path '/Users/larryonoff/Developer/work/transcribeme-ios/build'

I assume that folder build should exist before gym is running. I think that it will be great if gym creates this directory by itself. Now I should create it manually.

Testflight Distribution: Cannot install app

I already wrote you on twitter but I thought I would open an issue as well so you have a better overview.
If I build an app with gym, use deliver and submit it to Testflight Beta Testing, the App cannot be installed (both internal and external testers). My App contains an Apple Watch App as well (maybe that matters?!).

cmxmtbnweaafk_z

Best

Gym should return path to xcarchive as Fastlane environment variable

I'm configuring Fastlane to deploy beta builds to HockeyApp. HockeyApp optionally takes a dSym file, which I'd like to send in too.

Running dsym_zip with no parameters leads to an error that says "no implicit conversion of nil into String". I'm guessing that is because I use gym instead of xcodebuild or xcarchive.

Looks like gym doesn't play nice with dsym_zip. There is no documented way for getting the xcarchive file path from gym. It would be great if dsym_zip could cooperate better with gym or if gym returned the path to the xcarchive as an env variable.

Run tests before archiving

Hey,

First, thanks for building Fastlane ;) That's a really useful set of tools.

I'm using fastlane with travis-ci and that's working pretty great except for the duration of the entire flow. I have to install fastlane when the worker starts which takes some time. Of course you can't do anything about that, but I'm trying to improve the duration of the flow.

In the same lane I'm performing the unit tests and then, if they passed, I send an ipa to TestFlight after archiving with gym.

In this process I build 2 times the app (1 for the UT, 1 for the ipa) and I was wondering if there was a better option? Is there a way to build only once (to test and ship an ipa)?

Thanks for your help.

Cheers!

gym fails to find configuration that 'ipa' is able to find

I tried to build something called Ad-hoc and got this error:

[15:32:35]: -----------------
[15:32:35]: --- Step: gym ---
[15:32:35]: -----------------
[15:32:35]: Installing provisioning profile...
[15:32:35]: xcrun xcodebuild -list -workspace 'MyProj.xcworkspace'
[15:32:38]: Couldn't find specified configuration 'Ad-hoc'.

Needless to say, Ad-hoc is a legit configuration, defined at the project level.

deny-mmap error at app launch after building with gym

Hello,

I encountered an issue after using gym. I managed to have a nice Gymfile, my project builds and everything looks good until I launch the app. Then, I get this error message in the device console :

[deny-mmap] mapped file has no team identifier and is not a platform binary: /private/var/mobile/Containers/Bundle/Application/74928EA3-1701-4C5D-89CF-8278D7AFB203/MyApp.app/Frameworks/CryptoSwift.framework/CryptoSwift

I read a lot (1, 2) that this happens sometimes when compiling projects that contains Swift.
Mine uses Swift 2 and has several pods (including CryptoSwift)

I also read that several Swift issues were fixed in 0.2.0.

So is there something I do wrong or is there really a bug with Gym ? What kind of information would you need to know wether I'm doing something wrong or if it is a bug ?

Thanks,
Paul

Allow using gym for just exporting an IPA from an xcarchive

It would be great to allow gym to be used for just exporting of an IPA from an existing archive. I use Xcode Server to test and archive, but would like to download that and export an IPA from it locally and use fastlane to upload to testflight etc. Right now gym seems to be doing the building of the archive and exporting internally, so it'd be nice to be able to trigger only a subset of these actions (just exporting). Thanks! 👍

Gym creating IPA with "Invalid code signing entitlements"

Decided to update our Fastfiles to start using Gym and had some issues with it.
I did find solution but it would be nice to have it integrated into Gym.

This problem seems to happen when the team configured in the Xcode project doesn't match with the one I'm passing to the Gym using the codesigning_identity parameter. We identified the issue when uploading the IPA to ITC. It reported the following:

[11:45:03]: [Transporter Error Output]: ERROR ITMS-90164: "Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. According to the provisioning profile, the bundle contains a key value that is not allowed: '[ "..." ]' for the key 'keychain-access-groups' in 'Payload/...app/...'"

I might be wrong, but It seems to me that the codesigning_identity and provisioning_profile_path are only being used in the packaging phase, and they should also be used when building the project.

Before migrating to Gym, we were building our IPAs using xcodebuild's xcarchive and some other custom actions and it was working fine:

  xcarchive(
      configuration: 'Release',
      scheme: ENV['SCHEME'],
      sdk: 'iphoneos',
      build_settings: {
          :CODE_SIGN_IDENTITY => '...',
          :PROVISIONING_PROFILE => Actions.lane_context[Actions::SharedValues::SIGH_UDID]
      }
  )
  package
  dsym_zip

So I decided to use the CODE_SIGN_IDENTITY and PROVISIONING_PROFILE build settings in Gym and it worked fine:

  profile_path = mobile_provision(:appstore, ENV['APP_IDENTIFIER_REL'])
  gym(
      configuration: 'Release',
      scheme: ENV['SCHEME'],
      sdk: 'iphoneos',
      provisioning_profile_path: profile_path,
      xcargs: "CODE_SIGN_IDENTITY='...' PROVISIONING_PROFILE='#{FastlaneCore::ProvisioningProfile.uuid(profile_path)}'"
  )

Am I supposed to have to pass these settings? Shouldn't Gym handle this for me if I passed the codesigning_identity and provisioning_profile_path?

Cheers and keep up the good work.

.diff path not wrapped in quotes ("Error packaging up the application")

I got that error after gym had successfully built the project. --trace led to a command that didn't have the path wrapped in quotes (one of my directories had a space in it).

https://github.com/fastlane/gym/blob/bfe60852fb58fd02d9b92fddc55be6530bbfc51d/lib/gym/xcodebuild_fixes/package_application_fix.rb#L31

The fix:

-            command = ["patch #{@patched_package_application_path} < #{patch}"]
+            command = ["patch #{@patched_package_application_path} < '#{patch}'"]

Invalid WatchKit Support when submitting ipa generated by gym

I got this email when using gym with deliver to submit an ipa to iTunesConnect:

Dear developer,

We have discovered one or more issues with your recent delivery. To process your delivery, the following issues must be corrected:

Invalid WatchKit Support - The bundle contains an invalid implementation of WatchKit. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.

Once these issues have been corrected, you can then redeliver the corrected binary.

Regards,

The App Store team

Output is only .app and .app.dSYM.zip. Missing .ipa.

gym build -w WORKSPACE -s SCHEME -o ~/Desktop does not result in an exported IPA as the help page says it should. Only an app and associated dSYM. I had hoped to use gym to build something then use pilot to upload it.

To properly sign an iOS application with WatchKit 2, xcodebuild -exportArchive needs to include the -exportOptionsPlist option

With Xcode 7, the only way to correctly sign an app that includes watch kit is to include a -exportOptionsPlist exportOptions.plist to xcodebuild.

I am currently using a "sh" to archive because none of the other options provided a way to include this flag in the archive step.

Looks like with gym I can pass in an "xcargs" parameter. I haven not yet tried it to see if it works with gym to pass in the -exportOptionsPlist.

However, since this is necessary for a watch kit app, it might be good to add the option to the standard set of gym Keys.

I will give the gym xcargs a try.

Explicit provisioning_profile_path not used?

I'm using gym to build an enterprise version of our app. Just for this task it should use an explicitly provided provisioning profile and code signing identity, that override the ones defined in the project.

I'm building with the --verbose flag since after the first try I saw that it was using the wrong (as defined in the Xcode project) provisioning profile instead, but it looks like the generated build command doesn't include any parameter for passing the specified provisioning profile.

Is there any step I'm missing?

Generated build command:

set -o pipefail && xcodebuild 
-scheme '[REDACTED]' 
-project './[REDACTED].xcodeproj' 
-configuration 'Release' 
-destination 'generic/platform=iOS' 
-xcconfig 'config/Debug.xcconfig' 
-archivePath '/Users/vmonaco/Library/Developer/Xcode/Archives/2015-08-27/[REDACTED] 2015-08-27 12.48.13.xcarchive' 
archive | xcpretty

The command I used is:

gym 
--xcconfig "config/Debug.xcconfig" 
--codesigning_identity "iPhone Distribution: [REDACTED]" 
--provisioning_profile_path: "../CodeSigning/Enterprise.mobileprovision" 
--scheme "[REDACTED]" 
--configuration "Release"
--verbose

After xcodebuild finishes, I got the following command:

/usr/bin/xcrun 
/tmp/PackageApplication4Gym 
-v /Users/vmonaco/Library/Developer/Xcode/Archives/2015-08-27/[REDACTED]\ 2015-08-27\ 12.48.13.xcarchive/Products/Applications/[REDACTED].app 
-o '/Users/vmonaco/Library/Developer/Xcode/Archives/2015-08-27/[REDACTED].ipa' exportFormat ipa --sign 'iPhone Distribution: [REDACTED]'

But nowhere I can see the embedded provisioning being set.

Problems with gym, sigh and provisioning profile path

When I build with gym it doesn't pickup the correct path to the provisioning profile, even when I call sighjust before it.
I could be something with the two commands calculating from different path roots:
Sigh exports to this dir:

"/Users/xxx/Code/MyEvent/konnekt_ios/fastlane/.Event/Development_dk.imu.event.test.mobileprovision"

And it seems to be looking here:

"/Users/xxx/Code/MyEvent/konnekt_ios/.Event/Development_dk.imu.event.test.mobileprovision"

Without fastlane as a part of the path. Could it be a problem when output_path is set in sigh?

I have this code:

cert(development: true)
sigh(development: true, output_path: "./fastlane/.#{target}/")
say ENV["SIGH_PROFILE_PATH"] || "No SIGH_PROFILE_PATH value found!"
gym(
scheme: target,
configuration: "Debug",
silent: true,
clean: false,
xcargs: "PRELOAD=1", # working?
output_directory: "./fastlane/.#{target}/",
output_name: "preload.ipa")

With this output:

19:42:58: --- Step: cert ---
19:42:58: ------------------
19:42:58: Starting login
[19:43:00]: Successfully logged in
[19:43:04]: Found the certificate xxxx (Morten Holmgaard) which is installed on the local machine. Using this one.
[19:43:05]: Use signing certificate 'xxxx' from now on!
[19:43:05]: ------------------
[19:43:05]: --- Step: sigh ---
[19:43:05]: ------------------
[19:43:05]: Starting login
[19:43:07]: Successfully logged in
[19:43:07]: Fetching profiles...
[19:43:11]: Found 1 matching profile(s)
[19:43:11]: Downloading provisioning profile...
[19:43:12]: Successfully downloaded provisioning profile...
[19:43:12]: Installing provisioning profile...
[19:43:13]: Installing provisioning profile...
./fastlane/.Event/Development_dk.imu.event.test.mobileprovision
[19:43:13]: -----------------
[19:43:13]: --- Step: say ---
[19:43:13]: -----------------
[19:43:13]: [SHELL COMMAND]: say 'No SIGH_PROFILE_PATH value found!'
[19:43:16]: -----------------
[19:43:16]: --- Step: gym ---
[19:43:16]: -----------------
[19:43:16]: Error setting value './.Event/' for option 'provisioning_profile_path'
[19:43:16]: -----------------
[19:43:16]: --- Step: say ---
[19:43:16]: -----------------
[19:43:16]: [SHELL COMMAND]: say 'Provisioning profile not found at path '/Users/xxx/Code/MyEvent/konnekt_ios/.Event''
[19:43:23]: Variable Dump:
[19:43:23]: {:ENVIRONMENT=>nil, :PLATFORM_NAME=>nil, :LANE_NAME=>"preload", :CERT_FILE_PATH=>"./UN8A8FCJP5.cer", :CERT_CERTIFICATE_ID=>"UN8A8FCJP5", :SIGH_PROFILE_PATH=>"/Users/xxx/Code/MyEvent/konnekt_ios/fastlane/.Event/Development_dk.imu.event.test.mobileprovision", :SIGH_UDID=>"17fe01d9-934a-4746-b868-793454b641dd"}
[19:43:23]: Provisioning profile not found at path '/Users/xxx/Code/MyEvent/konnekt_ios/.Event'

Could Unit Tests be Run?

At the moment we use xctool for archiving, executing unit tests from the command line, and building simulator builds to be used with Calabash.

As gym looks interesting, we are evaluating it. Will gym allow to run unit tests too like xctool does?

build dont publishing to appstore

i just replace ipa with gym in Fastfile

15:47:59: iTunes Transporter successfully finished its job
15:47:59: [Transporter]: DBG-X: Returning 0

15:47:59: Successfully uploaded package to iTunesConnect. It might take a few minutes until it's visible online.

15:47:59: No IPA file given. Only the metadata was uploaded. If you want to deploy a full update, provide an ipa file.

Specify path for xcarchive

Hi, I've been looking all over for a way to specify a path to save the xcarchive - or at least get the path of it after it's built. Is there a way to do this? The reason I ask, is that I like to have Jenkins archive the artifacts and we typically archive the xcarchive so that I can re-export an IPA if the provisioning profiles expire.

Thanks!

What's new URL wrong in update message

Tiny issue, references KrauseFx instead of fastlane in the what's new URL:

#######################################################################
# gym 0.3.1 is available. You are on 0.3.0.
# It is recommended to use the latest version.
# Update using 'sudo gem update gym'.
# To see what's new, open https://github.com/KrauseFx/gym/releases.
#######################################################################

Couldn't see where this is set (presume remote server) or would have done a PR.

  • Ben

'keychain-access-groups' has value not permitted by provisioning profile

I've updated my Fastfile to use gym instead of xcarchive and xcodebuild, but I'm seeing this error when installing:

Sep  1 17:05:10 iPhone-6-de-Marcelo installd[9354] <Error>: entitlement 'keychain-access-groups' has value not permitted by provisioning profile '[Redacted 1]'
Sep  1 17:05:10 iPhone-6-de-Marcelo installd[9354] <Error>: entitlement 'keychain-access-groups' has value not permitted by provisioning profile '[Redacted 2]'
Sep  1 17:05:10 iPhone-6-de-Marcelo installd[9354] <Error>: entitlement 'keychain-access-groups' has value not permitted by provisioning profile '[Redacted 3]'
Sep  1 17:05:10 iPhone-6-de-Marcelo installd[9354] <Error>: 0x100484000 -[MICodeSigningVerifier performValidationWithError:]: 188: Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.KzWfpt/extracted/Payload/MeuShow.app identifier = com.movile.enterprise.vivomeushow type = User App> : 0xe8008016 (Entitlements found that are not permitted by provisioning profile)
Sep  1 17:05:10 iPhone-6-de-Marcelo installd[9354] <Error>: 0x100484000 -[MIInstaller performInstallationWithError:]: Verification stage failed
Sep  1 17:05:10 iPhone-6-de-Marcelo itunesstored[108] <Error>: 0x10239c000 __MobileInstallationInstallForLaunchServices_block_invoke240: Returned error Error Domain=MIInstallerErrorDomain Code=13 "Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.KzWfpt/extracted/Payload/MeuShow.app identifier = com.movile.enterprise.vivomeushow type = User App> : 0xe8008016 (Entitlements found that are not permitted by provisioning profile)" UserInfo=0x13019bb20 {LibMISErrorNumber=-402620394, LegacyErrorString=ApplicationVerificationFailed, SourceFileLine=188, FunctionName=-[MICodeSigningVerifier performValidationWithError:], NSLocalizedDescription=Failed to verify code signature of <MIExecutableBundle : path = /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.KzWfpt/extracted/Payload/MeuShow.app identifier = com.movile.enterprise.vivomeushow type = User App> : 0xe8008016 (Entitlements found that are not permitted by provisioning profile)}

I've checked and the embedded provisioning profile is exactly the same as the previous one.

ENV["CODE_SIGN_IDENTITY"] = "iPhone Distribution: XYZ"
ENV["EXPORT_PROFILE"] = "[REDACTED] Distribution"

# This works:
xcarchive(
  scheme: scheme,
  build_settings: {
    "CODE_SIGN_IDENTITY" => ENV["CODE_SIGN_IDENTITY"]
  },
  derivedDataPath: ENV["DERIVED_DATA_PATH"]
)

xcodebuild(
  export_archive: true,
  export_profile: ENV["EXPORT_PROFILE"]
)

# This doesn't:
gym(
   clean: true, 
   codesigning_identity: ENV["CODE_SIGN_IDENTITY"],
   provisioning_profile_path: 'fastlane/Redacted_Distribution.mobileprovision'
) 

PackageApplication4Gym is being called with --embed and --sign (so it shouldn't be the same issue as #69).

This is an enterprise build, if that matters.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.