Bug 29703 - "Show IPA File In Build Server" fails if "Build" number is different from "Version" number
Summary: "Show IPA File In Build Server" fails if "Build" number is different from "Ve...
Status: VERIFIED FIXED
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: iOS ()
Version: 3.11 (C5)
Hardware: PC Windows
: Normal normal
Target Milestone: 3.11.1 (C5SR1)
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-05-04 10:19 UTC by softlion
Modified: 2015-05-08 07:05 UTC (History)
6 users (show)

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


Attachments
Test case (12.10 KB, application/zip)
2015-05-06 23:48 UTC, Brendan Zagaeski (Xamarin Team, assistant)
Details
Logs files (44.02 KB, application/zip)
2015-05-06 23:48 UTC, Brendan Zagaeski (Xamarin Team, assistant)
Details


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:
VERIFIED FIXED

Description softlion 2015-05-04 10:19:11 UTC
The IPA is correctly built on the mac server, but has the wrong name. Its name contains the "version" instead of the "build" as set in the "IOS Application" property panel.

"Show IPA" searches for the correct name (using the "build"), and does not find it.

Note: this is a regression, it works as expected in previous Xamarin versions.
Comment 1 Brendan Zagaeski (Xamarin Team, assistant) 2015-05-06 23:48:25 UTC
Created attachment 11107 [details]
Test case

Thanks for the report.


This bug is in a way related to bug 29822, but this bug is _not_ yet fixed on XVS 3.11.507.




## Regression status: REGRESSION between XVS 3.9 and XVS 3.11

GOOD: XVS 3.9.547  (20fd2f0) + Xamarin.iOS 8.9.1.3    (f7736a4)
BAD:  XVS 3.11.445 (5061f92) + Xamarin.iOS 8.10.0.267 (6481535)
BAD:  XVS 3.11.507 (dfac85e) + Xamarin.iOS 8.10.1.24  (1b48440




## Steps to reproduce

1. Open the attached test case in Visual Studio.

2. Ensure VS is attached to the build host.

3. Build the app in the "AppStore|iPhone" configuration.

4. Click the "Show IPA File In Build Server" toolbar item.




## Actual result (as seen on 3.11.507) 


### Error from mtbserver.log

The "ShowFilesInFinder" command for the IPA is still looking for the IPA at the old build number location:

> File /Users/macuser/Library/Caches/Xamarin/mtbs/builds/
>   UnifiedSingleViewIphone1/cc530d20d6b19da63f6f1c6f67a0a254/bin/iPhone/
>   AppStore/UnifiedSingleViewIphone1-1.0.3.ipa NOT found.



### Actual file name

The number at the end of the file name has changed to use the "Version" field from the "Info.plist" rather than the "Build" field.

> $ dir UnifiedSingleViewIphone1\bin\iPhone\AppStore\*.ipa
...
> 05/06/2015  10:48 PM         2,916,429 UnifiedSingleViewIphone1-1.0.ipa






## Expected result (as seen on 3.9.547)

The Show IPA command opens the location of the IPA file as expected in the Finder on the Mac build host.


The number at the end of the IPA file name uses the "Build" field from "Info.plist".

> $ dir UnifiedSingleViewIphone1\bin\iPhone\AppStore\*.ipa
...
> 05/06/2015  10:22 PM         2,370,113 UnifiedSingleViewIphone1-1.0.3.ipa



## Additional notes

It's not immediately obvious that the change to use "Version" (aka "CFBundleShortVersionString") rather than "Build" (aka "CFBundleVersion") in the IPA file name was intentional. If this is not an intentional change needed to correct some previously incorrect behavior, then perhaps the correct fix would be to switch back to using the "Build" number ("CFBundleVersion").




## Version information

### Windows 8.1 64-bit, VMWare Fusion 6.0.6 (2684343)

Microsoft Visual Studio Professional 2013
Version 12.0.31101.00 Update 4
Microsoft .NET Framework
Version 4.6.00057

Xamarin   3.11.507.0 (dfac85e)
Xamarin.Android   5.1.0.127 (cbdf025e886eacb95ce7adf53346961156fae990)
Xamarin.iOS   8.10.0.0 (7741cc495ab0baf04ff0405d0604bc27f0ecae2e)


### OS X 10.9.5, MacBook Air

Xamarin.iOS 8.10.1.24 (Business Edition)
Hash: 1b48440
Branch: master
Build date: 2015-05-04 17:01:32-0400

Xcode 6.2 (6776), Build 6C131e

Mono 4.0.1 (detached/5a0b19f)
Comment 2 Brendan Zagaeski (Xamarin Team, assistant) 2015-05-06 23:48:58 UTC
Created attachment 11108 [details]
Logs files
Comment 3 Brendan Zagaeski (Xamarin Team, assistant) 2015-05-06 23:52:15 UTC
Confirming, per comment 1, and setting target milestone to the in-progress service release 3.11.1 for initial assessment since this a regression.

As far as I can tell, the fix for bug 28979 should be included in 3.11.507, so this bug is apparently a separate issue.
Comment 5 Mohit Kheterpal 2015-05-08 07:05:57 UTC
I am able to reproduce this issue with XVS 3.11.538 and observed that this issue is working fine with XVS 3.11.544 as we are able to open ipa on mac server even after setting build number and version number different from each other.

Xamarin.VisualStudio_3.11.544_ce43650cee4a4f67154852e7d02cf8e5eff07584.msi

Hence closing this issue.