You will need:
PPC and Intel based MAC's
Icon Composer
Lipo (command line tool)
Disk Utility
1. Build you application on both PPC and Intel based platforms and ensure they are working correctly. If your application uses loadable data then you will need to use “littleendian::” as a prefix to all your ReadFile() and other stream based commands.
2. Next take the two pre-built bundles and create a universal binary from them. An application bundle is not the executable file but a container that holds the executable file and other resources so pay attention to the pathnames. From a terminal window:
Where the following would be the path to Pushy on the Mac Book Pro.
<user> = nigelibrown
<appname> = PushyIntel
/Users/<user>/<appname>/<apname>.app/Contents/MacOS/<appname>
This would be the path to the PPC bundle I have previously copied to the Mac Book Pro.
<appname> = PushyPPC
/Users/<user>/<appname>/<apname>.app/Contents/MacOS/<appname>
So to overwrite the Intel version of Pushy you would use:
Lipo –create [AppPPC] [AppIntel] –output [AppIntel]
3. Use Icon composer (spotlight search) to generate associated icons for the bundle. Now you have a universal binary in your bundle you should add your own icons and replace the BlitzMAX versions that are generated automatically. Run Icon Composer and load the icons from:
/Users/<user>/<appname>/<apname>.app/Contents/Resources/<appname>.icns
Create a 128x128 image in a paint package and using file->Import Image add it to the resource or replace the current version. Then drag to all the other sizes in the file 48x48 32x32 etc… you will be asked to auto scale and mask say yes to all. Should give you something like this:
[img
]
4. Finaly use Disk Utility (spotlight search) to create a disk image (dmg) file->New->Blank Disk Image… make sure it is large enough to hold all your files. copy the bundle and any resource / data files that will need to be loaded. Then use convert image to compress it.
PPC and Intel based MAC's
Icon Composer
Lipo (command line tool)
Disk Utility
1. Build you application on both PPC and Intel based platforms and ensure they are working correctly. If your application uses loadable data then you will need to use “littleendian::” as a prefix to all your ReadFile() and other stream based commands.
2. Next take the two pre-built bundles and create a universal binary from them. An application bundle is not the executable file but a container that holds the executable file and other resources so pay attention to the pathnames. From a terminal window:
Where the following would be the path to Pushy on the Mac Book Pro.
<user> = nigelibrown
<appname> = PushyIntel
/Users/<user>/<appname>/<apname>.app/Contents/MacOS/<appname>
This would be the path to the PPC bundle I have previously copied to the Mac Book Pro.
<appname> = PushyPPC
/Users/<user>/<appname>/<apname>.app/Contents/MacOS/<appname>
So to overwrite the Intel version of Pushy you would use:
Lipo –create [AppPPC] [AppIntel] –output [AppIntel]
Lipo –create /Users/Nigel/PushyPPC/PushyPPC.app/Contents/MacOS/PushyPPC /Users/Nigel/PushyIntel/PushyIntel.app/Contents/MacOS/PushyIntel –output /Users/Nigel/PushyIntel/PushyIntel.app/Contents/MacOS/PushyIntel
3. Use Icon composer (spotlight search) to generate associated icons for the bundle. Now you have a universal binary in your bundle you should add your own icons and replace the BlitzMAX versions that are generated automatically. Run Icon Composer and load the icons from:
/Users/<user>/<appname>/<apname>.app/Contents/Resources/<appname>.icns
Create a 128x128 image in a paint package and using file->Import Image add it to the resource or replace the current version. Then drag to all the other sizes in the file 48x48 32x32 etc… you will be asked to auto scale and mask say yes to all. Should give you something like this:
[img
]4. Finaly use Disk Utility (spotlight search) to create a disk image (dmg) file->New->Blank Disk Image… make sure it is large enough to hold all your files. copy the bundle and any resource / data files that will need to be loaded. Then use convert image to compress it.