Search Unity

Mac App Store Toolset - OS X packaging made easy

Discussion in 'Assets and Asset Store' started by jemast, Jun 12, 2013.

  1. yuriythebest

    yuriythebest

    Joined:
    Nov 21, 2009
    Posts:
    1,125
    Hi! I'm having some weird issued with MAC OS 10.9.1 - I have tested it on 2 different MAC's and have some weird results (not sure if this relates to this plugin or to some silliness on my part).

    It runs fine on other macs with older OS's.

    1. On one mac (the one at our office) when I attempt to open it it says "file corrupted" and handily offers to move it to trash. (that mac's UUID has been added to the provisioning profile in use)
    2. On another mac, also with MAC OS 10.9.1, it opens up but the gamecenter doesn't work properly (upon opening the gamecenter window, it doesn't load any data), which is weird since we tested it previously on 2 Macs (both test and non-test gamecenter accounts) and there it all works like a charm.

    please help!

    EDIT:
    when building, the log file says everything is ok, and it opens fine on that Mac. On the macs where it doesn't open I get the error:
     
    Last edited: May 12, 2014
  2. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Hello yuri,

    1. About the file corrupted issue, have you verified that you're only getting it when Mac App Store Toolset is enabled. If yes, enable Verbose mode in the plugin settings and check the log for potential issues during signing.
    2. About the Game Center issue, have you tried logging out and see if it correctly prompts you to login again. If yes, check Mac OS Console when logging in for any error or issue related to Game Center.

    Let me know if any of this helps.

    By the way, I'm working on an update of Mac App Store Toolset based on your feedback and other users feedback. As I said, I'm not sure I can generate on the fly Mac App Store receipts but I'll at least add an option to provide a receipt that you have generated once manually and gets copied automatically every time.
     
  3. yuriythebest

    yuriythebest

    Joined:
    Nov 21, 2009
    Posts:
    1,125
    Thanks for your quick reply!

    Yes, it works when I click "clear build pipeline"

    We will check this once that Mac becomes available again
     
  4. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Do not hesitate to get back at me with the results either here on the forums or via PM or mail.

    By the way, we have a new version incoming with cleaner UI, refreshed processing and more efficient pipeline as well as a few new features and lots of bugfixes. We haven't found the right way to deal with Mac App Store receipts yet but we're still looking into potential solutions for next versions.
     
  5. phime-studio

    phime-studio

    Joined:
    Nov 16, 2009
    Posts:
    49
    Hey Jemast good job with 2.0 ! The only thing that I'm having a problem is this
    Screen Shot 2014-06-09 at 2.13.38 AM.png
     
  6. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Hello phime,

    Indeed this has been reported to us. We're packing a new version today that will effectively clear the short version string entered by Unity if you don't use one. In the meantime, you can simply add a short version number that'll replace the one automatically provided by Unity (I'm quite sure you can put in your version number as is).

    We'll also fix a few UI quirks.

    Thanks for reporting this!
     
  7. phime-studio

    phime-studio

    Joined:
    Nov 16, 2009
    Posts:
    49
    It's ok - thanks for the pre-fix tip on how to resolve this … we're now uploaded and under review :)
     
  8. 3

    3

    Joined:
    Sep 16, 2012
    Posts:
    387
    Hey!

    I recently bought your product, its awesome! However, even after tweaking it for an hour, I have all these errors in the application loader. I've tried downloading new provisional profiles and uploading my own Icon that fits the proper size, it just won't work. Think you can help me troubleshoot these? (some may be related to provisioning profiles, i dunno, first time building for the mac app store)

    Here are the screenshots of the errors,
    http://imgur.com/a/B8m3D

    And screenshots of my settings:
    http://imgur.com/a/1TKhI


    I plan to give it a rating as soon as I can!
    Thanks,
    Jacque
     
  9. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Sorry for the bump but I just wanted to point out that we solved this via e-mail.

    Everyone who purchases this asset gets support as part of the purchase so do not hesitate to contact us!
     
  10. yuriythebest

    yuriythebest

    Joined:
    Nov 21, 2009
    Posts:
    1,125
    This is a great plugin! Saves us a lot of time - we have used it for several projects now
     
  11. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    I can build and package an app with no problems. Then I can open the .pkg on the Mac on which I built the app and install the app. But when I try to open the .pkg on a different Mac I get "'myapp' can't be installed on this computer."

    Under Presets=>Code Signing, I tried both Developer and Distribution Provisioning Profiles and "Developer ID Installer" and "Developer ID Application". And under Packaging=>Installer Certificate I tried "Developer ID Application" and "3rd Party Mac Developer Installer".

    No matter what combo I use it never builds a .pkg file that I can open on another Mac.
     
  12. yuriythebest

    yuriythebest

    Joined:
    Nov 21, 2009
    Posts:
    1,125
    such problems usually occur when the other mac isn't added to the profile's list of mac's - make sure that is done (add the mac ID thingy to the list of macs on developers.itunes.com ) and also download and open the profile on that mac
     
  13. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    @yurlythebest but how does that work if that Mac is not a tester's or developer's Mac? e.g. It is someone who I don't know and he buys the game and tries to install it on his Mac.
     
  14. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Hello @TokyoDan and sorry for the slight delay,

    Should definitely work with Developer ID, and most likely work as well with Mac App Store signing. Could you let me know the configuration of both computers: OS X version, what type of Mac computer is it?
     
  15. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    The Development Mac is a late-2009 27” iMac running Mavericks (OSX 10.9.5).
    The Mac on which I can’t instal is a 2005 13” MacBook running Mountain Lion (OSX 10.8.8).
     
  16. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    The issue is most likely due to your 2005 MacBook being a 32-bit device. I have to admit this is a scenario we may be not correctly handling though I'm not sure. Could you let me know if you are building in Unity using the "Universal" or "32 bits" build mode (not 64 bits only) for your OS X build?
     
  17. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    How can I check if I am building in Unity using the "Universal" or "32 bits" build mode (not 64 bits only) for your OS X build? Is it that Architecture drop down in the Build settings? I'm using 'x86_64'. I'll try wit just 'x86' and let you know.
     
  18. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Ha! That was it! Such a simple thing. I should have known that after 30+ years in the industry.
    Thanks a million.
     
  19. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Go to the Build Settings window (File > Build Settings) then when you pick "PC, Mac & Linux Standalone" then Mac OS X as Target Platform. You then have the Architecture drop-down which lets you pick between x86 (32 bits), x86_64 (64 bits) and Universal (32+64 bits). For maximum compatibility you should pick Universal.

    Though I'm a bit surprised you're running 10.8 on a 2005 MacBook. Definitely not a standard install? If I'm not mistaken this device should be limited to Lion or Snow Leopard?
     
  20. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    That was a typo and a mistake. 10.6.8 on the MacBook. I guess that is Snow Leopard and not Mountain Lion.
     
  21. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Ok great. Glad you solved it!

    And congrats on not going insane working this long in the industry :)
     
  22. yuriythebest

    yuriythebest

    Joined:
    Nov 21, 2009
    Posts:
    1,125
    it should work since he will download it from the app store - if you merely send it to him as a pkg then it won't work probably (unless you use the sudo installer, but even then not sure). This whole signing/profiles business is there to prevent people who are not supposed to use the app/or are using it incorrectly/hacking/piracy from being able to use it
     
  23. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    @yurlythebest Thats's not what I mean.

    You said "such problems usually occur when the other mac isn't added to the profile's list of mac's - make sure that is done (add the mac ID thingy to the list of macs on developers.itunes.com )"

    That is impossible. How can I add the Mac ID of every possible customer's Mac to to the list of macs on developers.itunes.com?
     
  24. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Before I used Mac App Store Toolset I used to be able to build Standalone Mac apps on my development iMac that could run the *.app on my MacBook too (no signing nor packing nor extra terminal commands were necessary). But after I started using Mac App Store Toolset, the *.app files that I build on my iMac will no longer run on my MacBook. I get an app not signed error on the MacBook. I tried disabling everything in the Mac App Store Toolset Presets pannel and even deleting the whole Asset and then building just a simple *.app file but it won't run. I get an app not signed error on the MacBook. Why'd it work before but not now. Old project that were untouched by the Mac App Store Toolset can still build *.app that run on both the iMac dev machine and the MacBook.
     
  25. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    @jemast Disregard my previous post but I'll leave it there for anyone else experiencing brain farts...the app not signed error was due to me NOT disabling the Mac App Store Validation in Build Settings.
     
  26. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    @jemast, I am confused as to the differences between a build that is to be submitted to the Mac App Store, and a build that is for beta testing on designated devices:

    1. What settings, steps should I follow to create a build that is for beta testers?
    1.b. Should that beta tester build be an .app or .pkg file?
    1.c. How should that beta tester build be distributed.

    2. What settings, steps should I follow to create a build that is for submission to Mac App Store?
    2.a. Why does building for the Mac App Store create both .app and .pkg versions?
    note: I know that the .pkg version is for submission but what is the .app version for?

    Details:
    Which types of profiles/certificates should I select under Code Signing and Packaging?
    Under Code Signing Provisioning Profile I can select:
    1. Mac Team Provisioning Profile
    2. Developer ID Application
    3. Developer ID Installer
    The Code Signing Certificate depends on which Provisioning Profile I select
    Under Packaging Installer Certificate I can select:
    1. 3rd Party Mac Developer Installer
    2. Developer ID Installer
     
  27. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,085
    While this thread is being bumped, I'll just throw in a quick thanks. This tool saved me a bunch of headaches on my most recent release. Love it!
     
  28. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Just for your information...my development machine is an late-2009 iMac running Mavericks.
    I also have a test machine that is a 2005 13" MacBook running Snow Leopard.

    I set Mac App Store Toolkit Post-process Pipeline to Production and then in unity I create two builds: for one build the architecture is x86_64 and for the other build the architecture is x86 (32-bit).

    Building creates two files in each case: an *.app file and a *.pkg file.

    The 32-bit *.pkg INSTALLS on both Macs.
    The 32-bit *.app RUNs on both Macs

    The 64-bit *.pkg INSTALLS on the iMac.
    but the 64-bit *.pkg gives a message that this app can't be installed on the MacBook.
    but the 64-bit *.app RUNs on both Macs.
     
  29. yuriythebest

    yuriythebest

    Joined:
    Nov 21, 2009
    Posts:
    1,125
    Just a slight update- we re using this toolset at our company and consider it to be invaluable for mac publishing. In fact, we find it weird that this functionality isn't in Unity3d by default even if you already have pro. While there are many debates over what should be included in Unity, I think this is one of those things, and that the unity team should pay you loads of money/hire you/etc to have this as standard inside unity3d
     
  30. Akio-Sensei

    Akio-Sensei

    Joined:
    Nov 21, 2014
    Posts:
    8
    Hi
    I have been trying to get this working with Unity 4.5.4 but it didn't work correctly.
    I have tested this by building for all 10 possible alternatives in Unity.
    HELP!!!
     
  31. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    Akio Sensei, You need to give more details. How is it not working? When is it not working? What steps do you take to find out that it is, in fact, not working?
     
  32. Akio-Sensei

    Akio-Sensei

    Joined:
    Nov 21, 2014
    Posts:
    8
    Hi TokyoDan.
    Yesterday, I purchased Mac App Store Toolset(2.2.5) from assetstore.
    and I saw video tutorial carefully and understood it.
    and I followed explain spec of mac app store toolset one by one.
    but When I built mac app in unity project, it didn't work.
    When I clicked mac app, it was crashed. Not working.
    Please help this.
     

    Attached Files:

  33. Akio-Sensei

    Akio-Sensei

    Joined:
    Nov 21, 2014
    Posts:
    8
    this is error ...


    Crashed Thread: 0

    Exception Type: EXC_CRASH (Code Signature Invalid)
    Exception Codes: 0x0000000000000000, 0x0000000000000000

    kernel messages:
     
  34. Akio-Sensei

    Akio-Sensei

    Joined:
    Nov 21, 2014
    Posts:
    8
    Hi All!
    The problem occurs when I check "Mac App Store Validation" before building. Otherwise it works well.
    Do you have any idea please ?

    Here is my procedure (Unity 4.5.4, Maverick 10.9.5, XCode 6.1)
     
  35. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Very sorry for the reply delay. I did get your email yesterday but couldn't back to you. Mac App Store validation crashing is normal as is: at launch, Unity adds a script that looks for a valid Mac App Store receipt and crashes with exit code 174 (or some close number I can't remember exactly) which means it couldn't find a valid Mac App Store receipt since you haven't purchased the app on the Mac App Store... There is a way to test Mac App Store receipts but it's rather tedious and you can simply rely on the fact that Unity's method is working.

    No, on the other hand the first crash you're mentioning is about "Code Signature Invalid" which seem different. When you build your app or apply the signing profile, you should get some output in Unity's console about codesign/packaging commands. Could you let me know if you see anything odd there or something that may indicate an issue? You can post it here or via email.
     
  36. Akio-Sensei

    Akio-Sensei

    Joined:
    Nov 21, 2014
    Posts:
    8
    Hi Jemast.
    Thank you for reply.
    I sent screen images via email.
    Please check it and help !!
     
  37. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Again please excuse the delay. I'm not finding them in my inbox, could you try sending them again to contact@jemast.com? Be sure to message me here when you've sent the e-mail so I can let you know if I'm still not getting it and we'll work it out.
     
  38. sevensails

    sevensails

    Joined:
    Aug 22, 2013
    Posts:
    483
    I'm trying to build to Mac App Store, I followed all the steps, and generated my .app and .pkg files.

    But, when I try to run my .app file, it crashs with error EXC_CRASH (Code Signature Invalid).

    Is this error expected? I sent the .pkg file using Application Loader and it seems to be working, but will it work?

    Thanks!
     
  39. jemast

    jemast

    Joined:
    Dec 7, 2011
    Posts:
    141
    Hello,

    Yes this is expected. To the best of my knowledge, you actually can't test apps signed with production profiles. I wouldn't worry too much about it as Apple's validation mechanism detects if your code signature is valid or not. If it went through, it's valid.
     
  40. richardzzzarnold

    richardzzzarnold

    Joined:
    Aug 2, 2012
    Posts:
    142
    Hi
    I am getting a strange result on trying to upload with ApplicationLoader where it says that App sandboxing is not enabled when it clearly IS enabled in the MacAppStoreToolset.
    What to do?
     
  41. sevensails

    sevensails

    Joined:
    Aug 22, 2013
    Posts:
    483
    Same problem here with App Sandboxing! Any success fixing it @richardzzzarnold ?
     
  42. richardzzzarnold

    richardzzzarnold

    Joined:
    Aug 2, 2012
    Posts:
    142
    -Nope...as far as I can tell this ToolSet no longer works..
     
  43. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,080
    This is getting to be a big problem with the asset store. Lots of dangling unsupported junk. Unity should weed these out.
     
    sevensails likes this.
  44. sevensails

    sevensails

    Joined:
    Aug 22, 2013
    Posts:
    483
    I delivered a build using the instructions from here : http://docs.unity3d.com/Manual/HOWTO-PortToAppleMacStore.html

    But it was just rejected with no additionall info :

    "From Apple
    2.2 - Apps that exhibit bugs will be rejected
    2.2
    Here is how we found this bug:

    Empty instructions."

    Anybody was able to successfully submit a MacOS Store build recently?
     
  45. sevensails

    sevensails

    Joined:
    Aug 22, 2013
    Posts:
    483
    Well... It seems to work using Mac App Store Toolset plus the Instructions from the above link.
    - First try were refused because of a in-game bug
    - Second try were refused because the game hangs after the Unity Logo

    Let's go to the third try! =)
     
  46. ev3d

    ev3d

    Joined:
    Apr 19, 2013
    Posts:
    327
    jemast support is frustrating to say the least! I have sent emails on 2 of your products and never got a response from either of them... This is my last attempt to get some help.


    I am using application loader and it is giving me these errors:
    Package Summary:

    1 package(s) were not uploaded because they had problems:
    /var/folders/w9/q4mldkq15gz8f3qpzbs_jwbc0000gn/T/449B8A08-6F72-457F-B283-3EF65348B2BC/995370387.itmsp - Error Messages:
    ERROR ITMS-90511: "CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value 'brettbibby.CruncherPlugin' of 'EV3.app/Contents/Plugins/CruncherPlugin.bundle' is already in use by another application."
    ERROR ITMS-90511: "CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value 'brettbibby.CruncherPlugin' of 'EV3.app/Contents/Plugins/CruncherPlugin.bundle/CruncherPlugin.bundle' is already in use by another application."
    ERROR ITMS-90511: "CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value 'com.outlinegames.unibillosx' of 'EV3.app/Contents/Plugins/unibillosx.bundle' is already in use by another application."
    ERROR ITMS-90296: "App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list: [( "unity.KABloomInteractive.EV3.pkg/Payload/EV3.app/Contents/MacOS/EV3" )] Refer to App Sandbox page at https://developer.apple.com/devcenter/mac/app-sandbox/ for more information on sandboxing your app."
     
  47. ev3d

    ev3d

    Joined:
    Apr 19, 2013
    Posts:
    327
    Still no response?
     
  48. sevensails

    sevensails

    Joined:
    Aug 22, 2013
    Posts:
    483
    No response at all! =(

    - To fix the 3 first errors, "You need to change the bundle id in the info.plist file at the location it specified in your app bundle, to match your bundle id."
    - To fix the "App Sandbox not Enabled" you must create the entitlements file and codesign and productbuild it again. I was able to do it folowing the instructions from Unity Doc - http://docs.unity3d.com/Manual/HOWTO-PortToAppleMacStore.html

    Hope it works to you!

    But I'm very sad for the lack of support from Jemast! =(
     
  49. ev3d

    ev3d

    Joined:
    Apr 19, 2013
    Posts:
    327
    where do you put the entitlements file?
     
  50. sevensails

    sevensails

    Joined:
    Aug 22, 2013
    Posts:
    483
    Anywhere you want.

    You will need to inform it at codesign process.

    Code (csharp):
    1.  
    2. codesign -f -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"
    3.  
    My game has just been approved on Mac App Store! Só it works! =)... But I think Unity should provide an easier way of doing this, something native, it took me several days to make it works.
     
    Last edited: Aug 10, 2015
    bjornrun likes this.