iOS9, bitcode in enterprise app
Asked Answered
N

1

7

Please confirm:

Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the App Store.

From Bitcode (iOS, watchOS).

It is App Store who compiles and links the apps, so how about enterprise app?

I like this iOS9 feature as user could download the required slices to device for updating app quickly with least file size. Bitcode is enabled by default in Xcode 7, but for enterprise app, we upload the app updates to our enterprise server and our client users download it from our server via links. No app store is in this process.

Is that OK for enterprise app with Bitcode enabled? If so, who will own the compile & link duty?

Nebula answered 10/10, 2015 at 7:50 Comment(4)
Itachi, i am also facing this issue related to enterprise app distributionSelfexamination
Have you find any solution for itSelfexamination
@Selfexamination I recommend you to disable the bitcode feature for enterprise app.Nebula
App size is too large with that and also app thinning with Xcode server does is not able to apply same thing in my own server in which i am uploading that IPA fileSelfexamination
H
6

It is absolutely fine if your app contains bitcode even if you do not distribute it over the AppStore, however the app becomes bigger - it contains slices with object code and bitcode for each CPU architecture (more details on this topic can be found here: Bitcode Demystified).

I'd recommend to disable bitcode since there is no AppStore phase in your distribution model and nobody can take care of it.

If you still want to achieve this goal (smaller app size), then you can emulate App Thinning on your own: build a few versions of your app - one for each CPU architecture, upload to your server and put some smart service in front of the server, which will check user's device (via User-Agent) and redirect to a correct binary.

I didn't try this option, but it should work, the only extra-thing you need - table/mapping between device version and CPU.

Hollingsworth answered 24/10, 2015 at 20:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.