Bug 26921 - Build issue with storyboards in libraries after upgrading to the unified Api
Summary: Build issue with storyboards in libraries after upgrading to the unified Api
Status: RESOLVED FIXED
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: iOS ()
Version: 3.9
Hardware: PC Windows
: Normal normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-02-10 14:29 UTC by bswtzr
Modified: 2016-12-22 18:00 UTC (History)
9 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description bswtzr 2015-02-10 14:29:03 UTC
After upgrading an Xamarin.iOS app to use the Unified API:

Storyboards in libraries with “Build Action” of “InterfaceDefinition” are built but zero bytes in size. They are built properly in the App. Here are some workarounds:

1) Flip the storyboard's "Build Action" to "Embedded Resource" in your library. Side note: “InterfaceDefinition” disappears from the list.

2) Move the storyboard file into the App and set "Build Action" to "None" in your library.

I am using the latest beta channel with Visual Studio 2013 and the Xamarin.iOS build host. I initially encountered this in the stable release.
Comment 1 bswtzr 2015-02-10 17:58:17 UTC
Workaround 1 only works on the simulator (2 is our only option for a real device)
Comment 2 Jeffrey Stedfast 2015-02-11 12:28:36 UTC
I don't seem to be able to reproduce this.

What I did was to create a new Unified API SingleView application project and then added a Unified API Library project, added a reference to the Library project from the SingleView app's Reference folder and then added an empty storyboard to the Library project.

When I built, I got some warnings about the storyboard not having an ID set and no entry point, so I edited it in Xcode and set these properties and then it built fine and included non-zero byte compiled .nib files and an Info.plist in the LibraryStoryboard.storyboardc/ directory within the main .app bundle.
Comment 4 Jeffrey Stedfast 2015-02-13 15:44:10 UTC
You can only create them on Mac.
Comment 6 Jeffrey Stedfast 2015-02-13 15:50:55 UTC
Yes. I just noticed you said you couldn't create Unified projects in VS? Perhaps the VS team hasn't made a release with Unified support which is news to me, I thought they made a release with support for it already.

If not, I'm not sure if VS2013 will work with your Unified project that you create on Mac *until* VS makes a release with Unified support.
Comment 7 Jeffrey Stedfast 2015-02-13 15:53:28 UTC
assigning to Visual Studio since the problem may be with their Migration logic and nothing to do with the MSBuild targets.

Plus they should already be able to create Unified projects in VS.
Comment 8 Jeffrey Stedfast 2015-02-13 15:53:58 UTC
I set your VS iOS version to 3.8 but I have no idea what version you have.
Comment 11 Joaquin Jares 2015-03-04 15:22:55 UTC
VS has always had support for Unified (at least since Unified was first introduced). The templates you see are all Unified except the ones in the Classic folder. We only have Classic as "legacy" support now. As per the issue itself, I don't really understand the repro. Is it creating a new project (classic), then migrating to unified and trying to build? Or is it with a new Unified project. Because migration is mentioned, but at the beginning of the thread you guys were talking about new unified projects. Please clarify.
Comment 12 bswtzr 2015-03-04 17:48:06 UTC
To: Joaquin Jares

This was a migration to unified from classic. I have another active thread  on this today. <copied below>


Hi Anuj,

I tried to repro the issue:

What I did today was to create a new unified single view application in VS2013. It doesn’t deploy or run on my iPad so I’ve stopped:

“Launching Application for debugging...” (nothing happens)

I am still using the beta as described in my bug report. I am able to build and develop my project so I am reluctant to switch to the stable release.  Thus I run with the wart that library-storyboards must be in the executable.

Regards,
Bob

Hi All,

First and foremost it's important that we email support@xamarin.com for any issues. As I am seeing this bug is from almost a month ago and was not tracked by our support team, the Bugzilla system has a yellow note at the top indicating to contact support early and often. Our goal is to make sure you are never blocked, but that means we have to be tracking this from Day 0 :-)

I see in Comment #6 Jeff indicated VS did not have Unified support, this is incorrect. The VS team has had support in parity with Xamarin Studio.

Rob, Can you create a repro indicating the highlighted behavior with a blank project and the latest stable Xamarin for Visual Studio? In parallel I have the Visual Studio team in Argentina working to research the issue.

Best,
Anuj
Comment 17 Brendan Zagaeski (Xamarin Team, assistant) 2015-03-26 21:26:38 UTC
Many thanks for the test case. I was able to reproduce the problem.

By some luck, it appears this bug is fixed in the brand new stable version (3.9.525), just published to the stable updater channel [1] today.


## Versions tested

BAD:   Xamarin   3.9.289.0 (39a70ae) + Xamarin.iOS 8.6.2.26 (9905782)
BAD:   Xamarin   3.9.483.0 (978be3d) + Xamarin.iOS 8.8.0.2  (ccfcd59)
GOOD:  Xamarin   3.9.525.0 (ce1c740) + Xamarin.iOS 8.8.1.9  (7e1f69e)
GOOD:  Xamarin   3.9.530.0 (77c6c15) + Xamarin.iOS 8.8.2.2  (f5d0c5e)


> [1] http://developer.xamarin.com/recipes/cross-platform/ide/change_updates_channel/



-Brendan
Xamarin Customer Support
Comment 18 mag@xamarin.com 2016-12-22 17:59:29 UTC
Given that now th
Comment 19 mag@xamarin.com 2016-12-22 18:00:44 UTC
Given that this issue has been reported long time ago and that now there are no more Classic/Unified separation, I will assume this issue as fixed.
Please feel free to re open it if you still find any issues.