Inconsistency of PKG installer for Mac App when Updating an existing Application

nikannegaresh.7473nikannegaresh.7473 USMember
edited April 2015 in Xamarin.iOS

Hi everyone
I am Using Xamarin mainly for Mac apps . During the tests I have realized that the Pkg file which is being created as a result of Release Build, is acting differently. The Installer is supposed to install the app in the default /Applications folder and it does that perfectly. however if I increase the version number and build another package for installation, Already installed App will not be updated. I am not sure what is really happening in the background of productBuild. My expectation is the installer should find the previous version and replace/update it with the new version of app.

This expectation is valid in Yosemite Mac OS version 10.10.3 however same expectation is not valid on version 10.9.1.

Can you please advise me the best approach to deal with such inconstancy ?

Thanks for your messages

Best Answers

Answers

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    So if you take a look at what's going on under the hood (easier on Unified since you can see much of the logic in msbuild) we are calling this Apple tool for you:

    /usr/bin/productbuild

    If you aren't getting the behavior you desire, you can look into creating configuration files and tell us to pass those arguments (in the project properties, mac build, packaging, Product Definition / Additional Arguments).

    https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/productbuild.1.html

    https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html

  • Thanks for the information Chris. I was thinking, is there anyway to know what default Arguments/props xamarin is sending to ProductBuild. It is really a Blackbox for me and not sure what exactly is causing this behavior!
    following is an example of my plist.info.

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">


    CFBundleDisplayName
    ***********
    CFBundleIdentifier
    >***********</
    CFBundleName
    >***********</
    CFBundleShortVersionString
    0.5
    CFBundleSignature

    LSApplicationCategoryType
    public.app-category.business
    LSMinimumSystemVersion
    10.9
    LSUIElement

    NSMainNibFile
    MainMenu
    NSPrincipalClass
    NSApplication
    CFBundleVersion
    9

  • WilliamMappWilliamMapp USMember

    Did you solve this issue?

    I'd like to get this configured in Xamarin without the need for building on the cmd line.

    Will

Sign In or Register to comment.