App distribution outside the mac app store

NinineaNininea USUniversity ✭✭✭

Hi Guys,

I have problem to run application in other devices. As it is documented here : https://developer.xamarin.com/guides/mac/deployment,_testing,_and_metrics/publishing_to_the_app_store/signing/

I have created two certificates for my app, one for installer , second one for application and build release version, I got .pkg file in release folder. When I tried to install application in other devices , installation completed successfully , but application won't starts, only appears icon few seconds and then disappears

here are screen shots from my application

Best Answer

Answers

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    I believe you might need either a provisioning profile that allows the other machines to use that signed bundle or a different Identifier.

    Every time I mess with signing I have to try a half a dozen combinations until I get it working. It's a ball of pain.

  • GillesDignardGillesDignard CAMember ✭✭

    Chris: Could you expand a bit on what kinds of combinations you try? We're experiencing this exact situation, and "a ball of pain" is an incredibly accurate description of what we're going through.

  • NinineaNininea USUniversity ✭✭✭

    thanks @ChrisHamons

  • GillesDignardGillesDignard CAMember ✭✭

    Since my end-user experience is identical to Nininea's, I'll post details of what I've found.

    Our internal distribution is to build and distribute internally without using the installer creation (which we've had trouble with) but instead to zip up the bin/Release contents, post the .zip in a visible location (Azure as it happens) and have users download, unzip and go.

    App opens, is visible momentarily in the dock, and silently closes. The application's main() is not called. If we do exactly the same thing, except install via moving the .zip file across on a USB stick, then it all works as expected.

    What's different? A binary comparison of all the files yields nothing; they're identical.

    But. Looking at the two sets of files using ls -l we see that the chmod attributes have been changed (not the problem) but also a whole bunch of xattr have been added (problem).

    We've found that if we do a xattr -c on the MyApplication.app package directory the application then works as normal.

    I don't know enough to say if whatever it is that's in the extra file attributes that's causing the immediate failure is something that can be mitigated by some signature meta-data somewhere else, perhaps someone from Xamarin can figure this out.

    So certainly not a solution that would be usable in a scenario where we're distributing software to clients, but at least this workaround has us able to distribute our app internally and I thought it might be of use (or at least interest) to someone else facing this problem.

  • ChrisHamonsChrisHamons USForum Administrator, Xamarin Team Xamurai

    @GillesDignard So I was going to reply to your PM but since you posted here:

    • Can someone who is hitting this run xattr -l on their folder.
    • If that doesn't work then maybe something like xattr -r -l (to recursively look)

    OR

    • Post an example somewhere for me to dig into.

    It'd be great to figure out what attribute is causing issues. Is gatekeeper shutting us down? Maybe some other execution protection?

Sign In or Register to comment.