Embeddinator-4000 icon indicating copy to clipboard operation
Embeddinator-4000 copied to clipboard

Enable bitcode for iOS framework not working

Open emysa341 opened this issue 5 years ago • 8 comments

Steps to Reproduce

  1. While embedinating a C# source with following arguments: mono objcgen.exe --gen=obj-C --platform=ios -c -d -v --nativeexception --bitcode=true --target=framework -o=outputpath MyInputDllFile.dll

  2. Embedination is successful, upon using that framework in a project, works totally fine if I disable the bitcode. If bitcode is enable in the project it gives me an error that the framework (generated by E4k) does has bitcode enabled. How we can embeddinate with bitcode enabled ? I already set --bitcode=true but it does not work. Also, the framework produced after embeddination has file size of around 300MB. How I can reduce the framework size ?

Expected Behavior

E4k should embeddinate in a way that iOS.framework has bitcode enabled.

Actual Behavior

E4k embeddinates but output framework has no bitcode feature.

Environment

MacOS, VS Mac

Build Logs

ld: ‘TicketingServiceIos.framework/TicketingServiceIos’ does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file ‘TicketingServiceIos.framework/TicketingServiceIos’ for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Example Project (If Possible)

emysa341 avatar Aug 30 '18 14:08 emysa341

@emysa341 It looks like that have been fixed as commented in https://github.com/mono/Embeddinator-4000/issues/513 can you double check that you are using the version that contains the mentioned PR. Thanks!

mandel-macaque avatar Aug 31 '18 14:08 mandel-macaque

@mandel-macaque I have this version Embeddinator-4000 v0.1 (master: d697cdf)

emysa341 avatar Sep 04 '18 06:09 emysa341

Xamarin.iOS currently only supports bitcode for watchOS and tvOS, not iOS, so this won't work for now (until Xamarin.iOS adds support for bitcode on iOS, which is a known issue but currently not a high priority, so it may take a while).

rolfbjarne avatar Sep 04 '18 07:09 rolfbjarne

I thought I added bit code support a while back to objc gen, with the bit code command line switch and was working at time. Has it since been removed again?

Sent from my iPhone

On Sep 4, 2018, at 12:46 AM, Rolf Bjarne Kvinge <[email protected]mailto:[email protected]> wrote:

Xamarin.iOS currently only supports bitcode for watchOS and tvOS, not iOS, so this won't work for now (until Xamarin.iOS adds support for bitcode on iOS, which is a known issue but currently not a high priority, so it may take a while).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/mono/Embeddinator-4000/issues/698#issuecomment-418273196, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAoCQ4T91c-LhyX9YttITaVP7vBLIWmUks5uXi_ygaJpZM4WTjqV.

equinox2k avatar Sep 04 '18 12:09 equinox2k

It's not enough that the embeddinator supports bitcode, Xamarin.iOS must support it as well.

rolfbjarne avatar Sep 04 '18 12:09 rolfbjarne

Does bitcode support on iOS now ?

ColeXm avatar Feb 24 '20 03:02 ColeXm

Any updates on this? Are there any plans to support bitcode for Xamarin.iOS?

hammadahmed1985 avatar Jan 04 '21 17:01 hammadahmed1985

@hammadahmed1985 no, no plans to support bitcode on iOS for now, unless Apple makes it mandatory.

rolfbjarne avatar Jan 11 '21 06:01 rolfbjarne