Unity Entitlements Tool - Automate OS X codesigning

Thanks for the tool unfortunately in doesn’t seem too work, it writes the new info.plist but doesn’t code sign or package up the app

Yeah, doesn’t work right now :frowning: no sign nor package or snadboxing, nothing at all

I’ll look into it and see if I can reproduce this behavior on my end.

Can you give me some information about which Mac OS version you are using and which Unity version as well?

Thanks!

EDIT: I’ve thought this through, can you make sure you have Xcode installed? This tool requires a few command line tools that should be installed alongside Xcode (you may have to run it once), including the codesign and productbuild command. Please let me know if that’s your issue, I’ll make sure this is clearly documented.

EDIT2: Well, seems like there are plenty of issues with the tool and recent updates to Mac OS. I’ll look into it and try to fix the whole thing this week-end. I’ll let you know once the new release is out.

Hello,

Just a friendly bump.

I have updated the tool and I think I fixed most of the issues. On my end, it does work so hopefully it also work for you as well. By the way, you can now pick different certificates associated to the same provisioning profile. I overlooked this feature but it is now available. I also tweaked some UI stuff (removed that annoying autofill stuff). And fixed a lot of issues regarding project state reading (during open).

I also fixed a few bugs related to Mac OS 10.7.5 and 10.8.2 thanks to Gordon and Alessandro.

Let me know if you find any issues and I’ll do my best fixing this tool, though to be perfectly honest I don’t have much time to devote to it at the moment.

Thanks for the feedback!

Hey, we just tried this tool out, and are using prime 31 osx icloud plugin, but when we run the game and look at the player log it says icloud enabled, but cant then read or write via documents into the game, is their an extra setting for enabling where icloud can read from or could this be a plugin issue?

Hello,

I’ve just made another update that fixed some additional quirks remaining. Let’s just hope I’ve not added additional bugs to this release :slight_smile:

I’m not really familiar with Prime31’s cloud plugin but I’m quite sure you don’t need any additional sandboxing settings for iCloud. You need to set iCloud identifiers and make sure they match your AppID and a valid bundle ID (generally that’s your app bundle ID). Make sure you enable sandboxing. While it may not be necessary for debug purposes (untested), it will be mandatory for Mac App Store distribution so you might as well enable this right away.

Hi there, this is a great tool but it’s stopped working for me… it no longer outputs a .pkg file… I’ve had to do my latest submission manually but went without sandboxing (couldn’t work it out… lol).

I’ll make some checks to make sure it still works on my end.

What was your issue with sandboxing? It has quite a lot of restrictions, the biggest one being file access. Unless things have changed in Unity 4.0, Unity does not give you the path to the sandboxed directory and considering that’s the only directory where you get read/write access, it can break savegames or any file-related stuff you may be doing.

EDIT: Or you couldn’t get around applying sandboxing to your app? Isn’t sandboxing mandatory anyway for Mac App Store?

I’ve finally gotten around finding sometime to review this issue.

On my end it does generate the package file so I’m not sure what’s wrong with your setup. I’m using Unity 4.0, OS X 10.8.2 and Xcode 4.5.2 (Xcode is required for some command line tools). It should definitely work under Unity 3.x as well.

One way to see what could be happening is opening the “PostprocessBuildPlayer” file in your “Editor” directory (under your project Assets) and look at the lines between “#BEGIN_APPLY_ENTITLEMENTS” and “#END_APPLY_ENTITLEMENTS”. If you enabled packaging the last line should issue the command “/usr/bin/productbuild…” with your certificate.

Let me know if you need additional help on resolving this issue.

C’est genial cet outil je viens de l’utiliser sur McDROID et ca fait tout automatiquement.

Merci !

Merci, content de savoir que cela fonctionne pour vous. La version actuelle peut ne pas fonctionner selon la configuration, nous travaillons sur une mise à jour qui devrait intervenir ce week-end.

English:
Thanks!

To all our users, we’ve been really busy lately and know this tool has issues under certains configurations. We’re working on updating it and fixing those issues. This should be done over the week-end. Thanks for your patience!

Feel free to report issues at contact [at] jemast (dot) com

Lifesaver. Thanks so much.

Wow, great tool! Thanks.

According to “This game is not recognized by Game Center” issue. A’m almost tear my hair trying to discover this issue even with Aplle support but without success. And then somehow I realized that testing app must be in “Debug” folder. That’s why it works in Xcode.

Just a small bump to let people know that we’ve updated this tool to fix codesigning issues as well as certificate detection issues.

We’ve also implemented recursive codesigning which mean the script will also code sign all your native plugins which prevents either warnings for bundles or errors for dynamic librairies (dylibs have to be properly signed for Mac App Store submission).

This tool is really intended to work on up to dates systems (latest Mountain Lion and Xcode) as Apple tends to change quite a lot of background stuff regarding code signing and entitlements on a regular basis. We haven’t really tracked them and they’re not really documented so sorry if you’re using older OS X or Xcode versions, I’d recommend you look at the PostprocessBuildPlayer generated script and see which commands are problematic.

Of course, you can always contact and we’ll try to help (we’ve been very busy the last few weeks but we now have cleared some time for support and updates).

I don’t know if you’re still actively working on this, but it does not seem like a pkg is generated, and the icon is not changed. Am I missing something? I ran the app, filled in each section, got the green checks after updating the pipeline. Nothing besides an unaltered app is generated after building. I’ve also noticed after reopening the tool, the installer certificate I had selected is no longer selected, but one of my other dev certificates is instead. Any idea as to what I am missing?

Running Unity 3.5.7 on OSX 10.8.4

Thanks for any help you can give!

@wraxul

Hello and thanks for reaching us.

Unity Entitlements Tool was long overdue for an update and we just couldn’t find time. I’m pleased to say I’ve just pushed the 1.9 update live and it should fix the packaging issues you’re getting.

We’re now making clear in the tool that you have to provide a custom icns file due to the way Unity post-process pipeline works (it copies the icon after post-process, due to be fixed in Unity 4.x releases). You can look up Apple’s documentation or tutorials on how to generate valid icons file. Shameless self-promotion for our “paid for” version of Unity Entitlements Tool, integrated in Unity editor: Mac App Store Toolset. It does handle nicely icons thanks to automatic generation using the one you provided in Unity.

About the wrong installer certificate issue being picked up after reopening, it may persist at this time as I didn’t get enough time to look it up. Though it’s not something you should be worried about, just pick the right certificate again.

I’m in the process of writing up release notes and pushing the changes to GitHub but the updated binary is up on our website.

We do intend to keep this tool updated, free and open source. Though: 1/ it won’t be as feature complete as Mac App Store Toolset and may require a bit more work to make things work (such as providing custom icns file) ; 2/ it may lag behind a bit but we’ll try to make things as fast as possible.

Hope this helps. Let me know if you’re still getting issues with this new version!

Well it looks like the icon is being used properly, but it did not package the app. I think the problem is on my end though, as I can’t package it directly through Terminal either. Thanks for helping and making a useful tool. Hopefully I can figure out what I’m missing to make good use of it!

It looks like this tool is no longer available. I hope there is something similar that will work as I’m new to Unity app developer and a new Apple Developer. The website is no longer working.

You can still download it from github and compile it yourself in xcode. But sadly the instructions on how to use it are gone as well.