I cannot understand why my ipa fails to install OTA on testing devices.
My project is pure Swift, there is only one Swift framework (Alamofire) which is added via Carthage (also I have tried to remove it and rebuild the app with the same installation result).
I am building on macOS 10.12.3 with Xcode 8.2.1, deployment target is iOS 10.0.
I archive the app, then export for Ad Hoc distribution, when I get ipa file I use BetaBuilder for iOS apps to make manifest files and so on, then I upload all files provided by BetaBuilder to my web server. I have a valid domain and a valid comodo ssl certificate. I go to my web page, get a standard page generated by BetaBuilder, press the install link, get the iOS alert which asks if I want to install the app, press "install" and then nothing happens.
I have successfully distributed the previous build of the app this way.
The logs I get from the device are (I have deleted unnecessary info):
iPhone itunesstored(AppStoreDaemon)[95] <Info>: [<private>]: We have the entitlement: com.apple.appstored.private result: 1
iPhone MobileSafari(UIKit)[215] <Notice>: app did become active
iPhone appstored[126] <Info>: [<private>]: We have the entitlement: com.apple.appstored.private for pid: 95 result: 1
iPhone appstored[126] <Info>: [<private>]: Installing manifest: <private> for client: <private>
iPhone appstored[126] <Error>: [<private>]: Imported download: 2976036528959945147 for bundle: my.bundle.id
iPhone appstored[126] <Info>: [<private>]: Starting job 2976036528959945147
iPhone appstored[126] <Notice>: [<private>]: Adding download(s): <private>
iPhone appstored[126] <Info>: [<private>]: Preparing download: 2976036528959945147 / <private>
iPhone appstored[126] <Info>: [<private>]: Using media asset: -2790838922200582333, for download: 2976036528959945147 / <private>, is local cache: 0, URL: <private>
iPhone appstored[126] <Info>: [<private>]: Running HEAD operation to get size for asset: -2790838922200582333 for download: 2976036528959945147 / <private>
iPhone appstored[126] <Info>: [<private>]: Loading thumbnail from URL: <private>
iPhone appstored(appstored)[126] <Notice>: TIC TCP Conn Start - connection logs
iPhone mDNSResponder[101] dns resolving logs
iPhone itunesstored(iTunesStore)[95] <Notice>: Could not load library [21]
iPhone appstored(libsystem_network.dylib)[126] <Info>: nw_endpoint_resolver_update - connection and downloading logs
iPhone appstored[126] <Info>: [<private>]: Back with icon data for download: 2976036528959945147 / <private>
iPhone appstored[126] <Info>: [<private>]: Updating placeholder icon for download: 2976036528959945147 / <private>
iPhone appstored[126] <Info>: [<private>]: Installing icon for <private>
iPhone appstored[126] <Info>: [<private>]: Generated Info.plist for app placeholder: <private>
iPhone appstored(MobileInstallation)[126] <Notice>: <private>:InstallPlaceholder:1:Success:<private>
iPhone installd(MobileSystemServices)[40] <Notice>: 0x1926a000 -[MIClientConnection _doInstallationForURL:withOptions:completion:]: Install of "/var/mobile/Library/Caches/com.apple.appstored/2976036528959945147.app" type Placeholder (LSInstallType = 1) requested by appstored (pid 126)
iPhone installd(MobileSystemServices)[40] <Notice>: 0x1926a000 -[MIInstaller _extractPackageWithError:]: Incoming install at /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.wPzZXY/6528959945147.app had class 3; changing to class 4
iPhone installd(MobileSystemServices)[40] <Notice>: 0x1926a000 -[MIExecutableBundle _validateWithError:]: 81: Bundle at path /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.wPzZXY/6528959945147.app has missing or invalid CFBundleExecutable in its Info.plist
iPhone installd(MobileSystemServices)[40] <Notice>: 0x1926a000 -[MIInstaller _bundlesAtURL:error:]: Failed to create bundle for file:///private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.wPzZXY/6528959945147.app/ : Error Domain=MIInstallerErrorDomain Code=11 "Bundle at path /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.wPzZXY/extracted/2976036528959945147.app has missing or invalid le in its Info.plist" UserInfo={LegacyErrorString=MissingBundleExecutable, FunctionName=-[MIExecutableBundle _validateWithError:], NSLocalizedDescription=Bundle at path /private/var/installd/Library/Caches/.installd.staging/temp.wPzZXY/extracted/2976036528959945147.app has missing or invalid CFBundleExecutable in its Info.plist, SourceFileLine=81}
iPhone appstored(MobileInstallation)[126] <Notice>: <private>:InstallPlaceholder:2:Fail:<private>
iPhone SpringBoard(MobileCoreServices)[48] <Error>: LaunchServices observer: Apps Failed be installed: <private>
I have already double checked and I do have CFBundleExecutable name in Info.plist and in bundle. I can build and run the app on my local device. I have also checked that I am building with the correct provisioning profile.
There are a couple of unanswered questions related to mine:
Has missing or invalid CFBundleExecutable in its Info.plist
CFBundleExecutable missing or invalid
As per first one I have tried to not check the checkmark of "Rebuild from bitcode" without any success.
I would appreciate any help.
It was actually related to webserver setup. It was caching the path which in turn messed up downloadable.
After setting up proper caching (no caching :)) everything seems back to normal.