Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Mac app store issue :: I can't build the installer after following Blurst's tutorial.

Discussion in 'Editor & General Support' started by Jason-H, Dec 12, 2011.

  1. Jason-H

    Jason-H

    Joined:
    Nov 5, 2010
    Posts:
    87
    Hi I'm having an issue with this tutorial on the Blurst website about signing a unity .app and making it into a .pkg for the mac app store.

    I get this error when trying to build an installer package (the last step).

    ------

    productbuild: unrecognized option `--sign*3rd Party Mac Developer Installer: Company Name*/Applications/mygamesname.pkg'

    Usage: productbuild [options] --distribution <dist-path> [--package-path <search-path>] <product-output-path>
    Build product with a distribution and the packages it references

    Usage: productbuild [--product <definition-plist>] {--component <component-path> <install-path>} <product-output-path>
    Build product with specific bundles, synthesizing a distribution

    Usage: productbuild --synthesize [--product <definition-plist>] {--package <pkg-path>} <distribution-output-path>
    Synthesize and write a distribution from component packages

    ------

    I was able to code sign it properly and I have Xcode 4.0.2 if that makes a difference.

    Any ideas why this is happening and what I can do to fix it? Thanks!


    Oh and I have tried using Martin Schultz's "Mac App Store PostProcessor" located here. Although for some reason when I build my game the info.plist is the same as it was before, it isn't signed properly and it isn't packaged up anywhere.

    These are the steps I've taken with the PostProcessor;

    I have copied and pasted the entire script starting with -

    Code:
    #!/usr/bin/perl
    use File::Copy;
    and ending with -

    Code:
    if ($doCreatePackage eq "true") {
    system("productbuild --component \"" . $installPath . "\" /Applications --sign \"". $certificateInstaller . "\" \"" . getcwd . $outputDirectory . $packageName . "\"");
    }
    I've left the variables about signing and packaging both as true and changed the signing certificate from Martin Schultz to my one.

    It was copied and pasted into a text document and saved as .rtf then changed to .sh in the finder. I've placed the resulting file in "Assets/Editor" and built the project in Unity (not build and run).

    After right clicking the resulting .app file, showing the package contents and viewing info.plist nothing has changed between this one and one without the shell script in the editor folder nor is there any .pkg files.


    Any help on this would be greatly appreciated!

    Thanks.

    Unity answers thread; here
     
    Last edited: Dec 13, 2011
  2. jahroy

    jahroy

    Joined:
    Apr 22, 2011
    Posts:
    10
    People aren't likely to respond to this because it's not Unity related.

    This is more of a "how do I use Terminal" issue.

    Have you downloaded and installed your installer and developer certificates?

    Try running: man productbuild to learn more about how to use the productbuild command.

    Anywho... I wrote out a big long answer to your Unity Answers question.

    Hopefully that will get you pointed in the right direction.
     
  3. Jason-H

    Jason-H

    Joined:
    Nov 5, 2010
    Posts:
    87
    This is the exact code I have written into the terminal to try and sign and build the application. Is there anything wrong with this syntax? If not, why else is it giving the error message as above?

    Code (csharp):
    1. codesign -f -v -s "3rd Party Mac Developer Application: Robot Roadies Limited" "/Users/jasonhodges/RobotRoadiesMac2.app"
    2.  
    3. productbuild --component "/Users/jasonhodges/RobotRoadiesMac2.app" "/Applications" --sign*"3rd Party Mac Developer Installer: Robot Roadies Limited"*"/Users/jasonhodges/RobotRoadies.pkg"