2

While trying archiving my project I got this error:

ld: bitcode bundle could not be generated because '/Users//MobileVLCKit/MobileVLCKit.framework/MobileVLCKit(VLCEmbeddedDialogProvider.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build file '/Users//MobileVLCKit/MobileVLCKit.framework/MobileVLCKit' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Tried to do enablebitcode = no but then when i archived the mac get stuck and after a 40 minutes period i gave up.

Any idea what can i do and if it is possible to archive the project with this pod ?

Enea Dume
  • 3,014
  • 3
  • 21
  • 36
ironRoei
  • 2,049
  • 24
  • 45
  • 1
    Parts of MobileVLCKit do not have debug symbols. That, combined with a bug in Xcode 10 (I'm assuming that's the version you're using), causes the compile to eat memory and never finish. You can change `DWARF with dSYM file` in Build Settings, or do a quick search for other options. Search for `mobilevlckit xcode 10` and you'll find plenty of discussion on it. – DonMag Jan 30 '19 at 13:57

2 Answers2

6

Had the same problem, setting ENABLE BITCODE = NO and changing Debug Information Level from "DWARF with dSYM File" to "DWARF" in the release makes it archive successfully. See Image: Change Debug Information Format

Helton Malambane
  • 1,147
  • 11
  • 12
1

There is a bug in dsymutil in current version of Xcode 10 which will exhaust all your RAM when archiving VLCKit with the "DWARF with dSYM File" option.

This issue is resolved in the current Xcode beta, so if you want to use that option, copy the dsymutil from the Xcode beta to the stable version (or take dsymutil from Xcode 9.4) to work-around the issue.

Regrettably, there is nothing we can change in VLCKit as the bug is in Apple's tools.

feepk
  • 1,756
  • 1
  • 12
  • 14
  • Thanks so much for all this! I have a question for you guys. It looks like bitcode is not yet enabled for MobileVLCKit, but I have seen discussion, indicating that it was added, at some point. Is there a schedule for enabling it? It's not an emergency for me, as I only use it in a test harness project. – Chris Marshall Feb 09 '19 at 20:02
  • 2
    Bitcode support is enabled only if you compile it yourself or for tvOS. The default iOS binary are without and will remain without for the foreseeable future. – feepk Mar 02 '19 at 11:50
  • Thanks! I appreciate the response. I'm curious. Why is bitcode support not being compiled into the standard distro? If I compile it myself, will I have some kind of problem if I try to turn it on? – Chris Marshall Mar 02 '19 at 14:52
  • 2
    It will work fine if you compile it yourself. However, we don't see any benefits in using bitcode at all, but it would make the download size of the precompiled binary 5 times larger (more than 1GB instead of ~250 MB). Therefore, we do it for tvOS only where it is mandated by Apple. – feepk Mar 09 '19 at 09:54
  • Got it. Sooner or later, Apple will require bitcode to approve apps on the store, but I REALLY don't like the idea of a 1GB video stack. Thanks so much for all that you do. – Chris Marshall Mar 09 '19 at 21:38
  • 2
    Well, for the end user, it will be the typical 20 to 25 MB per architecture so exactly the same than what it is today. However, we want to be nice to the developers, too :) – feepk Mar 11 '19 at 00:19