10

I'm trying to upload a new version of an app that is already in the AppStore. Previous version was uploaded using Xcode 9.4. But now Xcode 10 will be required in order to get approval.

Sadly, Xcode is not being able to archive the project, so I'm getting stuck on the first step, not even being able to generate the binary for submission.

There is no error: According to Xcode, our archiving process has more than 2000 tasks, and is just gets stuck in arbitrary task (always the same). Xcode does not crash, does not show an error and does not complain. It just can't pass that task and the IDE stays there for ever.

We tried it in different machines and also tried two versions: the previous version of the app (that can be archived with Xcode 9.4) and a new version, successfully migrated to Swift 4.2.

UPDATE:

  • Legacy building system does not work either.
  • Build for a Generic iOS Device also get stuck (not just archiving), but the software compiles and works on the simulator.
  • Tried to compile the non-migrated version selecting Swift 4 (instead of 4.2) and same results.
  • Played with optimization levels, whole vs. incremental compilation, etc., and always the same results.
  • In Xcode 9.4 it builds for Generic iOS Device nicely without changing anything.
Cœur
  • 37,241
  • 25
  • 195
  • 267
nbloqs
  • 3,152
  • 1
  • 28
  • 49
  • What's the task we always get stuck on? – matt Sep 18 '18 at 19:19
  • @matt, I'm not sure exactly how to answer that, but on the Report Navigator I can see that some files (most of them just files with protocols) are greyed, so they never reach the "compiled" state, and thus they are listed under both "All Issues" and "Errors only" filters. Please let me know if I can provide more useful information. Thanks! – nbloqs Sep 18 '18 at 19:43

3 Answers3

13

Finally, I removed "armv7" from "Valid Architectures" of project build settings. It archived! This means iPhone 4S is not compatible anymore. But, I don't think Apple will deprecate 4S in this way. By diving into the logs, I found that it stucks in creating dSYM symbols.

[17:15:49]: ▸ Generating 'ZUS_INHOUSE_DEV.app.dSYM'
[17:16:15]: ▸
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _lum_convert
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_hscale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _lum_h_scale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_cfmt_convert
[17:16:15]: ▸
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_chscale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _chr_h_scale
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _ff_init_desc_no_chr
[17:16:15]: ▸ (arm64)  could not find object file symbol for symbol _no_chr_scale
[17:16:30]: ▸ (arm64)  could not find object file symbol for symbol _vlc_entry__audio_filter_libscaletempo_pitch
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸
[17:16:30]: ▸ (arm64)  failed to insert symbol '_best_overlap_offset_float' in the debug map.

Thus, I guess, another workaround is change "Debug Infomation Format" from "DWARF with dSYM File" to "DWARF".

Cœur
  • 37,241
  • 25
  • 195
  • 267
LexTang
  • 144
  • 1
  • 10
  • We finally manage to archive, but it was only after several hours of work: We needed to revert all our different optimization settings (carefully selected before) to XCode 10's default settings. With very small diferences in the default configuration it just stops working (regarding archiving). – nbloqs Sep 21 '18 at 09:55
  • 1
    @LexTang Same issue here. But no option for "Valid Architectures" in XCode 10.0. So how you removed "armv7". – Ali Raza Sep 28 '18 at 10:49
  • 1
    Ran into the exact same problem, for me removing armv7 from the Valid architecture list solved the issue as suggested by Lex. Hope apple finds a better way to tell that we are done with iphone 4s. – Nauman Aslam Sep 28 '18 at 13:07
  • How to remove armv7? couldn't find the settings for Valid Architectures in Xcode 10. – sandpat Oct 09 '18 at 06:34
  • When I manually try to add VALID_ARCHS setting, I get the following error - There already is another setting named "VALID_ARCHS". Please enter a different name. – sandpat Oct 09 '18 at 06:57
  • PROJECT / {your project} / Build Settings / All / Valid Architectures [Here is a screenshot](https://user-images.githubusercontent.com/219689/46720217-800e7700-cca2-11e8-9fe3-ac46f64690c6.png) – LexTang Oct 10 '18 at 07:38
  • Did anyone succeed in having armv7 as a valid architecture? I really cant release the app w/o armv7 :( Is there any workaround? – Sreejith Nov 05 '18 at 17:40
  • 3
    I'm still running into this issue in **Xcode 10.2.1** and none of the suggested fixes have resolved it. @LexTang Where did you find those archive logs? – Clifton Labrum Apr 18 '19 at 21:00
3

We were able to get it to Archive with DSYM by removing optimizations for Swift Compile in the build settings.

Build Settings -> Swift Compiler - Code Generation -> Release

set to "No Optimizations"

Original fix suggested by JacobJ84 on Apple forum: https://forums.developer.apple.com/thread/115185

Jon C
  • 41
  • 1
  • 4
0

Like LexTang hinted, one of the workarounds that works, without need to remove armv7 from valid architectures, is to set "DWARF" for "Debug Information Format". Unfortunately, this way we are loosing option for automated crash symbolication. This way finding cause of crash is much harder, but still not impossible. On following links you can find more info about symbolicating iOS crashes: https://coderwall.com/p/ezdcmg/symbolicating-an-ios-crash-log-without-the-original-dsym-file https://www.apteligent.com/technical-resource/symbolicating-an-ios-crash-report

Sergio
  • 1,702
  • 1
  • 20
  • 24