WatchOS1 storyboard not being compiled correctly
Created by: rmaz
When compiling a watchOS1 target, the app crashes at runtime with:
(Error) WatchKit: <SPApplicationDelegate.m -[SPApplicationDelegate application:didFinishLaunchingWithOptions:]:611> Error - unable to find interface description file Interface.plist for com.blah.amazingapp.watchkitapp. Exiting.
It seems that when Xcode is compiling the storyboard for the watch app, it dispenses with the .storyboardc
containing folder, and just puts the generated plist files during compilation into the app bundle. ie If we have an Interface.storyboard
, Xcode generates:
Base.lproj
|-> Interface.plist
|-> Interface-notification.plist
whereas buck is outputting:
Base.lproj
|-> Interface.storyboardc
|-> Interface.plist
|-> Interface-notification.plist
Looks like the issue is AppleBundle.java:708, the platform name is being checked to correctly compile the storyboard, but we also need to check for legacy_watch
flavor.