bitrise-steplib/steps-xcode-archive

archivable entry not found

radvansky-tomas opened this issue · 15 comments

`
▸ Compiling ActivityCell.xib
▸ Processing timerush-dev.plist
▸ Generating 'timerush-dev.app.dSYM'
▸ Running script '[CP] Embed Pods Frameworks'
▸ Running script '[CP] Copy Pods Resources'
▸ Running script 'Run Script'
▸ Copying /Users/tr/Library/Developer/Xcode/DerivedData/timerush-gbxepiamopovhfhixqrcfwtzybfg/Build/Intermediates.noindex/ArchiveIntermediates/timerush-dev/BuildProductsPath/Release-watchos/watch-dev.app
▸ Touching timerush-dev.app (in target: timerush-dev)
▸ Archive Succeeded

Archive infos:
team: Micro Manager Apps Ltd (5KR985NTQ5)
profile: iOS Team Provisioning Profile: app.bullrush.timerush (ca913e22-440d-4c5c-95a3-b355d54d6681)
export: development
xcode managed profile: true

Exporting ipa from the archive...

Exporting ipa with ExportOptions.plist
No custom export options content provided, generating export options...
export-method specified: ad-hoc
archivable entry not found
| |
+---+---------------------------------------------------------------+----------+
| x | xcode-archive@2.4.15 (exit code: 1) | 271 sec |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-xcode-archive/issues |
| Source: https://github.com/bitrise-io/steps-xcode-archive |
+---+---------------------------------------------------------------+----------+
`

Everything worked fine with xcode9, ios11 and swift4
Now I updated stack and ios12 + swift 4.2 and its failing
However I can archive this using xcode.
Another difference is embedded watch kit app

bitce commented

Hi @radvansky-tomas ,

Sorry to hear about the issue, can you please send us a build URL to be able to see the whole log?

For example this one:
https://app.bitrise.io/build/bfa9bf42e44cd56a

But its failing even locally with bitrise cli, with same error

Hi @radvansky-tomas ,
Sorry for the long delay on this topic. Most probably I would think that the IQKeyboardManager pod doesn't support Xcode 10 yet. According to this issue report: hackiftekhar/IQKeyboardManager#1436 that is sent to the original repo that the pod you are using is forked from Xcode 10 isn't supported currently.
I'm still looking at some threads to see if I can find a workaround that you could use. Will update you if I find something!

Thank you for reply @tamasbazs , but i don't think that this is an issue. First of all, app is building fine on my local machine, xcode 10 and main project is converted to swift4.2, however my pods runs still on older swift:

#Add the following in order to automatically set debug flags for armchair in debug builds post_install do |installer| installer.pods_project.targets.each do |target| if target.name != 'SwipeCellKit' target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '4.0' end end if target.name == 'Armchair' target.build_configurations.each do |config| if config.name == 'Debug' config.build_settings['OTHER_SWIFT_FLAGS'] = '-DDebug' else config.build_settings['OTHER_SWIFT_FLAGS'] = '' end end end end end

Therefore that plugin is build with still supported source...plus if this was an issue, I would have complication error, but i have "no archive issues"

`
▸ Compiling MediumCell.xib
▸ Compiling LineItemCell.xib
▸ Compiling DateTableHeader.xib
▸ Compiling ActivityCell.xib
▸ Processing timerush-dev.plist
▸ Generating 'timerush-dev.app.dSYM'
▸ Running script '[CP] Embed Pods Frameworks'
▸ Running script '[CP] Copy Pods Resources'
▸ Running script 'Run Script'
▸ Touching timerush-dev.app (in target: timerush-dev)
▸ Archive Succeeded

Archive infos:
team: Micro Manager Apps Ltd (5KR985NTQ5)
profile: iOS Team Provisioning Profile: app.bullrush.timerush (ca913e22-440d-4c5c-95a3-b355d54d6681)
export: development
xcode managed profile: true

Exporting ipa from the archive...

Exporting ipa with ExportOptions.plist
No custom export options content provided, generating export options...
export-method specified: ad-hoc
archivable entry not found

`

Hi!

Sorry for the delayed answer.

  1. Could you please enable the support user by:
  • Open your app on Bitrise
  • Select the Settings tab.
  1. And could you please send me the .xcodeproj and the .xcworkspace files via the on-site chat? ( The little icon on the bottom right on Bitrise.io )
    screenshot 2018-10-08 at 10 30 48

The step is failing here:
https://github.com/bitrise-io/steps-xcode-archive/blob/d38d5c9c12cf80d7ea58c7ab968312db973d40dc/utils/entitlements.go#L56

In this phase, the step is searching for the buildForArchiving attr. in the .xcodeproj. And for some reason it couldn't find it.

(Just like this:)
screenshot 2018-10-08 at 10 27 03

Hi!

Sorry for the delayed answer.

I have answered you via intercom too with more detailed answer (some example from your project).
I share here the general informations too without your project infos:

I think we found some Apple magic in your project :D

The "Xcode Archive & Export for iOS" step will search for the BuildActionEntries array in the .xcodeproj file after the archive process.

And here comes the magic.


An .xcodeproj scheme should look like this just like in your other scheme.
46598617-ff564c00-cae4-11e8-85dd-518cd4134bff

But in your scheme-dev it looks like this (there is no BuildActionEntries array):

And this is why the step is failing.


We have figured out this is happening because in the scheme-dev scheme you have enabled only the archive option.

If you enable the other options too then it will use the BuildActionEntries array.


The funny part:
If you disable the other options too then it will still use the BuildActionEntries array. :D


So what can you do?
Enable please the other build options for the scheme-dev.

Push the changes and try a new build.


If it's working try to disable the options in the scheme-dev scheme again.

Push the changes and try a new build.

YES thank you, this helped

A missing BuildActionEntries could sometimes also be solved by removing and re-adding your targets in your scheme:

target

This fixed it for me :)

I'm also getting this error.
Looking in my xscheme, the build action entries are there and all are enabled

Here's a copy of my scheme, looking through the source code for the step, I can't see why it would fail.

ArchiveBug.xscheme.zip

Hi @radvansky-tomas and @valentary! 👋

Please accept my sincere apologies for the huge delay!

The issue here you facing is due to the Step is unable to find a valid, archivable build action entry belonging to an app target in your scheme.

The following has to be satisfied to consider a build action entry as valid and archivable:

In @radvansky-tomas’ case, the whole BuildActionEntries array was missing due to a malformed scheme, probably faulty generated by Xcode. The Step correctly emits an error in this situation, since the parsing could not be completed.

On the other hand, in @valentary’s case the root cause is not a malformed scheme, but the lack of an app target in the referenced scheme. The ArchiveBug.xcscheme you attached, only contains the ArchiveBug build action, which is not an app target (not the missing .app postfix in the BuildableName attribute). Would you please confirm that the ArchiveBug is indeed an app target?

Hi,

I will be closing the issue due to inactivity. Please feel free to open a new one incase you still have any concerns. Thanks