GithubHelp home page GithubHelp logo

steps-xcode-build-for-simulator's People

Contributors

birmacherakos avatar bitrise-coresteps-bot avatar danicsorba avatar davidmcraejr avatar fehersanyi-bitrise avatar godrei avatar hisaac avatar ileitch avatar lpusok avatar ofalvai avatar renovate[bot] avatar shams-ahmed avatar tothszabi avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

steps-xcode-build-for-simulator's Issues

Xcode build log not available on build success

When the build fails, the log is available using BITRISE_XCODE_RAW_RESULT_TEXT_PATH. However, when the build is successful, the log is not available. This causes a problem when posting warnings & errors to the GitHub PR. It means PR's introducing warnings but that still compile don't have those warnings posted on the PR, reducing their discoverability before merging.

[BLOCKER] Unable to find simulator build in the artifact

Troubleshooting

  • I've searched discuss.bitrise.io for possible solutions.
  • Which version of the step is effected? 2.0.0
  • Is the issue reproducible with the latest version? YES
  • Does the issue happen sporadically, or every time? EVERY TIME
  • Is the issue reproducible locally by following our local debug guide? NOT APPLICABLE

Useful information

Issue description

I'm building a simulator build for my application, however the logs shows it was built successfully, and the artifact is exported to the correct directory.

However, when I check the deploy to Bitrise.io logs, the .app build doesn't appear to be there.

Bitrise info

the log shows it's exporting artifact

      Copy artifacts from Derived Data to /Users/vagrant/deploy
      [REDACTED]Dev...
      Exporting outputs
      BITRISE_APP_DIR_PATH -> /Users/vagrant/deploy/[REDACTED]Dev.app
      BITRISE_APP_DIR_PATH_LIST -> /Users/vagrant/deploy/[REDACTED]Dev.app
      You can find the exported artifacts in: /Users/vagrant/deploy
  

but the deploy to bitrise doesn't show anything

      Build Artifact deployment mode: deploying the content of the deploy directory
      List of files to deploy (7):
      - /Users/vagrant/deploy/app-dev-debug.apk
      - /Users/vagrant/deploy/[REDACTED]Dev.dSYM.zip
      - /Users/vagrant/deploy/[REDACTED]Dev.ipa
      - /Users/vagrant/deploy/[REDACTED]Dev.xcarchive.zip
      - /Users/vagrant/deploy/export_options.plist
      - /Users/vagrant/deploy/xcodebuild-archive.log
      - /Users/vagrant/deploy/xcodebuild-export-archive.log
-   

Steps to reproduce

  1. build a normal react-native app
  2. add the Build for Simulator step in

Failed to create app with the error message: 'No such file or directory'

Troubleshooting

  • I've searched discuss.bitrise.io for possible solutions.
  • Which version of the step is effected? 1.2.1
  • Is the issue reproducible with the latest version? YES
  • Does the issue happen sporadically, or every time? EVERY TIME
  • Is the issue reproducible locally by following our local debug guide? NOT APPLICABLE

Useful information

Issue description

I updated the Xcode version from 14 to 15. This step works fine in Xcode 14 but fails in Xcode 15. It returns an error message stating No such file or directory. I found that the file created by this step is located at /Users/vagrant/git/ddata/Build/Products/Development-iphoneos, but the file it attempted to copy is located at /Users/vagrant/git/ddata/Build/Products/Development-iphonesimulator/ I hope this information helps. It's currently blocking us from integration testing. Please kindly advise.

Bitrise info

** BUILD SUCCEEDED **
+ cp -R '/Users/vagrant/git/ddata/Build/Products/Development-iphonesimulator/MY_APP.app' /Users/vagrant/deploy/
cp: /Users/vagrant/git/ddata/Build/Products/Development-iphonesimulator/MY_APP.app: No such file or directory
  

Steps to reproduce

  1. build a normal react-native app with XCode 15
  2. add the Build for Simulator step in

Configuration defaults to Debug

In version 0.10.0 the description for the configuration input in workflow editor states "(optional) The configuration to use. By default your Scheme defines which configuration (Debug, Release, ...) should be used, but you can overwrite it with this option."

This doesn't seem to be the actual behavior though. If empty, the build defaults to Debug configuration (or possibly the first one defined in the project) although the scheme states otherwise.

Also the configuration input is marked as required in the workflow editor while it is described as optional.

No option to toggle CODE_SIGNING_ALLOWED

Troubleshooting

  • I've searched discuss.bitrise.io for possible solutions.
  • Which version of the step is affected? 0.11.6
  • Is the issue reproducible with the latest version? YES
  • Does the issue happen sporadically, or every time? EVERY TIME
  • Is the issue reproducible locally by following our local debug guide? YES

Useful information

Issue description

Currently, there is no option to toggle "CODE_SIGNING_ALLOWED=NO", which is required by some CocoaPod frameworks such as Firebase Remote Config to work properly.

Bitrise info

Running build
$ set -o pipefail && xcodebuild "-workspace" "/Users/vagrant/git/MyProject.xcworkspace" "-scheme" "My Project" "-configuration" "QA" "CODE_SIGNING_ALLOWED=NO" "-destination" "id=5210DB4C-7CD4-4DE7-AC08-6E2F259F04B4" "COMPILER_INDEX_STORE_ENABLE=NO" "clean" "build" | xcpretty
  
It is possible to work around this limitation by adding "CODE_SIGNING_ALLOWED=YES" in the 'Additional options for xcodebuild call' under the 'Debug' section but I wouldn't rely on this as it produces a command that looks like this with two CODE_SIGNING_ALLOWED flags that may not always work:
xcodebuild "-workspace" "/Users/vagrant/git/MyProject.xcworkspace" "-scheme" "My Project" "-configuration" "QA" "CODE_SIGNING_ALLOWED=NO" "-destination" "id=5210DB4C-7CD4-4DE7-AC08-6E2F259F04B4" "COMPILER_INDEX_STORE_ENABLE=NO" "clean" "build" "CODE_SIGNING_ALLOWED=YES" | xcpretty

Steps to reproduce

Run the build for the simulator step on a project that uses Firebase Remote Config key values. The values should be fetched on app launch but are never called.

Failed to export the artifacts, error: failed to fetch project's targets, error: Failed to found scheme (SOME SCHEME) in project

Trying to make a Simulator build of an Ionic app, but getting an error when exporting the build' Simulator app. The build of the IPA itself is successful (using the Ionic Archive step). But running the Xcode build for simulator results eventually in an error, although the building itself seems to succeed. Only in the final part of the step an error is raised about not finding the scheme in the project:

+------------------------------------------------------------------------------+
| (23) [email protected]                                        |
+------------------------------------------------------------------------------+
| id: xcode-build-for-simulator                                                |
| version: 0.10.0                                                              |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2019-05-23T08:32:34-07:00                                              |
+------------------------------------------------------------------------------+
|                                                                              |
�[36mINFO�[0m[08:32:34]  * �[32;1m[OK]�[0m Step dependency (xcode) installed, available. 
�[36mINFO�[0m[08:32:34]  * �[32;1m[OK]�[0m Step dependency (go) installed, available. 
�[34;1mConfig:
�[0m- ProjectPath: /Users/vagrant/git/platforms/ios/SOME PROJECT.xcworkspace
- Scheme: SOME SCHEME
- Configuration: Debug
- ArtifactName: 
- XcodebuildOptions: 
- Workdir: /Users/vagrant/git
- OutputDir: /Users/vagrant/deploy
- IsCleanBuild: false
- OutputTool: xcpretty
- SimulatorDevice: iPhone 8
- SimulatorOsVersion: latest
- SimulatorPlatform: iOS
- DisableIndexWhileBuilding: true
- VerboseLog: true

�[34;1mStep determined configs:�[0m
- xcodebuildVersion: Xcode 10.1 (Build version 10B61)

�[34;1mChecking if output tool (xcpretty) is installed�[0m
- xcprettyVersion: 0.3.0

�[34;1mSimulator info�[0m
Latest simulator for iPhone 8 = 8A1F9274-CD16-485A-A84C-6FCD603E2FAF

�[34;1mRunning build�[0m
[08:32:43] �[32;1m$ set -o pipefail && xcodebuild "-workspace" "/Users/vagrant/git/platforms/ios/SOME PROJECT.xcworkspace" "-scheme" "SOME SCHEME" "-configuration" "Debug" "CODE_SIGN_IDENTITY=" "CODE_SIGNING_REQUIRED=NO" "PROVISIONING_PROFILE_SPECIFIER=" "PROVISIONING_PROFILE=" "DEVELOPMENT_TEAM=" "-destination" "id=8A1F9274-CD16-485A-A84C-6FCD603E2FAF" "COMPILER_INDEX_STORE_ENABLE=NO" "build" | xcpretty�[0m
....
▸ Generating 'SOME\ PROJECT.app.dSYM'
▸ Touching SOME\ PROJECT.app (in target: SOME TARGET)
▸ Build Succeeded

Copy artifacts from Derived Data to /Users/vagrant/deploy
Scheme build dir: /Users/vagrant/Library/Developer/Xcode/DerivedData/SOME_PROJECT-aixhwmehymlkfgbulzpnmsjclgjm/Build/Products/Debug-iphonesimulator
Failed to export the artifacts, error: failed to fetch project's targets, error: Failed to found scheme (SOME SCHEME) in project

The input of the step:

    - [email protected]:
        is_skippable: true
        inputs:
        - project_path: "$BITRISE_SOURCE_DIR/platforms/ios/${APPLICATION_NAME}.xcworkspace"
        - scheme: "$APPLICATION_NAME"
        - xcodebuild_options: "-UseModernBuildSystem=0"
        - verbose_log: 'yes'
        - simulator_device: iPhone 8

[Enhancement] Set Artifact name.

Right now the artifact is named after the Scheme.
Would it be possible to expose a field for setting the ArtifactName?

When I checked out the source, I could see where it was being loaded, but I'm not sure where to use it.

Thanks!

Failed to get scheme (failed to fetch project's targets, error: Failed to found scheme (example) in project) build target dir, error: %!s(MISSING)

running on: bitrise.io
id: xcode-build-for-simulator
version: 0.9.2
collection: https://github.com/bitrise-io/bitrise-steplib.git
toolkit: go
time: 2018-12-14T02:00:56-08:00
xscheme is shared (project is able to build)

- ProjectPath: example/ios/example.xcodeproj
- Scheme: example
- Configuration: Debug
- ArtifactName: 
- XcodebuildOptions: 
- Workdir: /Users/vagrant/git
- OutputDir: /Users/vagrant/deploy
- IsCleanBuild: false
- OutputTool: xcpretty
- SimulatorDevice: iPhone 6s Plus
- SimulatorOsVersion: latest
- SimulatorPlatform: iOS
- VerboseLog: false

�[34;1mStep determined configs:�[0m
- xcodebuildVersion: Xcode 10.1 (Build version 10B61)

�[34;1mChecking if output tool (xcpretty) is installed�[0m
- xcprettyVersion: 0.3.0

�[34;1mSimulator info�[0m
Latest simulator for iPhone 6s Plus = B4953501-E313-4A8E-8012-452CEA2B4D01

�[34;1mRunning build�[0m
[02:01:10] �[32;1m$ set -o pipefail && xcodebuild "-project" "example/ios/example.xcodeproj" "-scheme" "example" "-configuration" "Debug" "CODE_SIGN_IDENTITY=" "CODE_SIGNING_REQUIRED=NO" "PROVISIONING_PROFILE_SPECIFIER=" "PROVISIONING_PROFILE=" "DEVELOPMENT_TEAM=" "-destination" "id=B4953501-E313-4A8E-8012-452CEA2B4D01" "build" | xcpretty�[0m

(...)

▸ Building library xxxx.a
▸ Linking ExampleApp
▸ Processing Info.plist
▸ Running script 'Bundle React Native code and images'
▸ Generating 'ExampleApp.app.dSYM'
▸ Copying /Users/vagrant/Library/Developer/Xcode/DerivedData/example-byuuzjvqjuqjwkeyxardezzwcbkf/Build/Products/Debug-iphonesimulator/xxxx.framework
▸ Touching ExampleApp.app (in target: example)
▸ Build Succeeded

�[34;1mCopy artifacts from Derived Data to /Users/vagrant/deploy�[0m
�[31;1mFailed to get scheme (failed to fetch project's targets, error: Failed to found scheme (example) in project) build target dir, error: %!s(MISSING)�[0m
|       

My iOS project is not a root level, does it could lead to this issue?
How to disable copy artifact to make it works?

Configuration defaults to Debug

In version 0.10.0 the description for the configuration input in workflow editor states "(optional) The configuration to use. By default your Scheme defines which configuration (Debug, Release, ...) should be used, but you can overwrite it with this option."

This doesn't seem to be the actual behavior though. If empty, the build defaults to Debug configuration (or possibly the first one defined in the project) although the scheme states otherwise.

Also the configuration input is marked as required in the workflow editor while it is described as optional.

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.