Unable to install watchOS app from TestFlight

braderbrader ✭✭USMember ✭✭
edited May 2017 in Xamarin.iOS

I've built iOS and watchOS apps using Xamarin and have tested them in debug. I'm now trying to test them in TestFlight. After much trial and error trying to upload my application through ApplicationLoader, I've finally got several builds through which pass muster and I can see in TestFlight on my phone. My iOS app installs and runs great through TestFlight, but the watchOS app doesn't work. I flip the "Show App on Apple Watch" switch and it proceeds to install. The app shows up on my watch with the loading indicator and finishes after a while. After that, launching the app results in seeing the loading app screen and getting kicked back out to the springboard. This happens every time I try to launch the app. I've tried monitoring the Console to see a crash, but don't see one (I've attached a partial log which filters on my app ID). The interesting thing that I found is that the install seems to finish and is acknowledged but after a while I get another message from ACXTestFlightInstallQueue that the install timed out. Google doesn't even have results for "ACXTestFlightInstallQueue", so I'm not able to find any similar cases. I'm not even sure if that's the source of my issue.

default 08:43:12.847251 -0500   appconduitd 0x16e0b3000 -[ACXInstallQueue _onQueue_deQueueNextOperation]_block_invoke_2: Finished install for com.tandt.ios.DashDev.watchkitapp
default 08:43:13.662319 -0500   appconduitd 0x16e0b3000 -[ACXCompanionSyncConnection _onQueue_handleAppInstallMessage:]: Setting state to installed for com.tandt.ios.DashDev.watchkitapp
default 08:43:13.664523 -0500   appconduitd 0x16e0b3000 -[ACXInstallQueue acknowledgeInstallationForWatchApp:]: Installation of com.tandt.ios.DashDev.watchkitapp acknowledged.
default 08:43:13.666582 -0500   appconduitd 0x16df9b000 +[ACXDeviceConnectionClient messageAllObserversWithInstallStateUpdate:]_block_invoke: Messaging observers with update {
    "com.tandt.ios.DashDev.watchkitapp" = 2;
}
default 08:43:13.667784 -0500   TestFlight  0x1aa190b40 -[ACXDeviceConnection updatedInstallStateForApplicationsWithInfo:]_block_invoke_2: Messaging delegate <OASNanoAppInstallManager: 0x17403cf40> with state change 2 for app com.tandt.ios.DashDev.watchkitapp
default 08:43:26.959158 -0500   appconduitd 0x16df9b000 -[ACXTestFlightInstallQueue init]_block_invoke: TestFlight install for com.tandt.ios.DashDev.watchkitapp timed out

Edit: The attached log shows 2 installs... I installed it on the watch, then removed it after it failed to launch and installed again. Then I tried to launch again and got the ACXTestFlightInstallQueue time out.

Answers

  • braderbrader ✭✭ USMember ✭✭
    edited May 2017

    Things I've tried that didn't work:

    • Performing build to Ad Hoc and deploying to phone (w/ and w/o linking enabled).

    I'm not sure that the app is getting into my own code, but what logging methods are there available for watchOS when not running in debug? I use Fabric Crashlytics for my iOS app, but haven't got it working. I've also not been able to handle unexpected exceptions on watchOS, even in debug mode. The major issue here is that I'm shooting in the dark without any decent logging.

  • braderbrader ✭✭ USMember ✭✭

    Ok-- Knowing that the app worked when compiled in debug, I did several builds to find out what was wrong via process of elimination. I changed the build settings on my WKExtension and tested each one to see if it could launch after installation.

    LAUNCHED - LLVM disabled, linking disabled, Thumb-2 disabled
    LAUNCHED - LLVM disabled, Link SDK enabled, Thumb-2 disabled
    CRASHED - LLVM enabled, linking disabled*, Thumb-2 disabled
    CRASHED - LLVM enabled, linking disabled*, Thumb-2 enabled
    CRASHED - LLVM enabled, Link SDK enabled, Thumb-2 disabled
    CRASHED - LLVM enabled, Link SDK enabled, Thumb-2 enabled

    Didn't try:
    LLVM disabled, linking disabled, Thumb-2 enabled
    LLVM disabled, Link SDK enabled, Thumb-2 enabled

    You can see that as soon as I enabled LLVM, the app doesn't work. I also noticed that with linking disabled, I still get linking warnings (see below), so I believe that at least some linking may be enabled automatically if LLVM is enabled. I did test linking with LLVM disabled, which did work, so I don't think it's linking... But even if it is, the linking warnings don't provide much information on what I could do to preserve the code being removed.

    Linking warnings:

    Warning     Native linking warning: warning: overriding the module target triple with thumbv7k-apple-watchos3.2.0 [-Woverride-module]   Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747 
    Warning     Native linking warning: 1 warning generated.    Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747 
    Warning     Native linking warning: warning: overriding the module target triple with thumbv7k-apple-watchos3.2.0 [-Woverride-module]   Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747 
    Warning     Native linking warning: warning: overriding the module target triple with thumbv7k-apple-watchos3.2.0 [-Woverride-module]   Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747 
    Warning     Native linking warning: 1 warning generated.    Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747 
    Warning     Native linking warning: warning: overriding the module target triple with thumbv7k-apple-watchos3.2.0 [-Woverride-module]   Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747 
    Warning     Native linking warning: 1 warning generated.    Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747 
    Warning     Native linking warning: 1 warning generated.    Dash.Watch.WatchOSExtension C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets 747
    

    I'm using Win 10, the VS 2017 Pro 15.2, VS for Mac 7.0, and Xamarin.iOS 10.10.0.30

    Cross-posted on Bugzilla as I think it might be a bug: https://bugzilla.xamarin.com/show_bug.cgi?id=56312

Sign In or Register to comment.