The Nose Mac OS
If a prospective customer downloads your software onto Mac OS X 10.8 and it hasn’t been signed, they will see a scary warning:
Not good. To run unsigned software they need to go into Mac OS X Preferences>Security & Privacy>General and change Allow applications downloaded from Mac App store and identified developers to Anywhere:
Rosesami smoking with the use of ice for cooling the lungs watch online hight quality video. Logitech MX Master Driver, Software, Manual, Setup Download for Windows 10, 8, 7, macOS, Mac OS X, and How to Install, Specs, Review, more. Yesterday, Microsoft released Windows 7 to crowds of adoring fans. Although similar to Vista, Windows 7 has a look and feel all its own, and Microsoft has set up a new Windows 7. Multitran.com: Free online dictionary in English, German, French, Spanish.
Or they need to right/Ctrl click and see another scary warning. Double plus not good. This is the new Mac Gatekeeper system in action. Apple being Apple, Gatekeeper defaults to only allowing users to run software they have downloaded off the Internet if it has been signed. This could have a big effect on your conversion rate on Mac. So if you are shipping software for the Mac, you really need to sign it.
Apple fanboys will tell this is a sensible way for Apple to control software quality. A valid certificate shows that your software hasn’t been tampered with and, if it turns out to be malware, Apple can revoke your certificate. The more cynical might see it as a way for Apple to exert even greater control over Mac developers than it already does, while simultaneously extorting $99 per year from each and every one of them. Make your own mind up on that one.
I have now managed to sign my table planner software, ready for its next release. I should have done it months ago. But I expected the process to be so tedious that it has taken me this long to get around to it. And it was every bit as mind-numbingly tedious as I expected trying to find a few useful nuggets amongst the acres of Apple documentation. I found some useful stuff in blogs, but it was quite fragmented. So I have thrown together these notes in the hope that it saves someone else a few hours going round in circles. Note that I am not currently submitting my software to the Mac App Store, so I don’t cover that here. Also my software is developed in C++/Qt using Qt Creator, rather than Objective-C/Cocoa using XCode, and my approach reflects that.
1. Sign up for Apple Developer Connection ($99 per year). Doesn’t matter if you already paid through the nose for a Windows authenticode certificate. Gatekeeper only accepts Apple certificates, so you have no choice. On the plus side, you do get other benefits, including downloading new OS upgrades for free.
2. You need Mac OS X 10.8 so you can test that your signing works. If you have an Apple Developer Connection subscription, you can download 10.8 for free (get a code from the ADC downloads area and using it in the Mac App Store). I found the upgrade from 10.6 to 10.8 was surprisingly painless (Microsoft eat your heart out).
3. Request your Apple certificates and install them into your Keychain. You can do this from Xcode (instructions here). You may need to upgrade Xcode to a recent version.
4. Use the codesign command line tool to sign:
- Every framework in your .app bundle
- Every plugin in your .app bundle
- Your .app file
I believe you can do this as part of your Xcode build. But I prefer a shell script. For example:
echo --sign frameworks --
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Frameworks/QtSql.framework/Versions/4/QtSql
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Frameworks/QtXml.framework/Versions/4/QtXml
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Frameworks/Qt3Support.framework/Versions/4/Qt3Support
echo --sign plugins--
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/accessible/libqtaccessiblecompatwidgets.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/accessible/libqtaccessiblewidgets.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/bearer/libqcorewlanbearer.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/bearer/libqgenericbearer.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/codecs/libqcncodecs.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/codecs/libqjpcodecs.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/codecs/libqkrcodecs.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/codecs/libqtwcodecs.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/graphicssystems/libqtracegraphicssystem.dylib
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app/Contents/Plugins/imageformats/libqjpeg.dylib
echo --sign app--
codesign --force --verify --verbose --sign 'Developer ID Application: <yourID>' <yourApp>.app
I do this in a build shell script that automates the whole process of creating a .dmg for download. I’m not sure if the order you sign the components in is important.
Note that:
- <yourID> is the ID on your certificate (in my case “Oryx Digital Ltd”).
- For frameworks you sign the folder, not the file.
- Any changes to the .app bundle after signing may invalidate the signature (that is kind of the point).
5. Verify the signing of the .app file. For example:
codesign -vvv -d <yourApp>.app
6. Package your .app into a .dmg, .zip, .pkg or whatever other format you use to install it (I believe .pkg files might require additional signing with a different certificate).
7. Make sure your Mac OS X 10.8 machine is set to the default Gatekeeper setting.
8. Download your software onto Mac OS X 10.8 and check if the scary warning has gone away.
The Nose Mac Os 11
9. Pray that Apple doesn’t decide to revoke your certificate at some point for an infraction, real or imagined.
Until you have released a signed version you can put up a warning with some simple Javascript, for example:
Further reading:
Qt related:
Java related:
Thanks to Jonathan of DeepTrawl and Stephane of LandlordMax for some useful pointers.
************** Update **************
Things have changed again for Mac OS X 10.9/10.10. See this post for an update.
Yesterday, Microsoft released Windows 7 to crowds of adoring fans. Although similar to Vista, Windows 7 has a look and feel all its own, and Microsoft has set up a new Windows 7 Personalization Gallery, featuring themes, backgrounds and desktop gadgets you can add to your system to personalize it further.
That means that just because you're using Windows 7, doesn't mean it has to continue to look like Windows 7. Microsoft's latest is a fine-looking OS, but because creating your own Windows 7 theme by customizing the background, the icons, and even your mouse pointers is so easy, you can make it look even better by customizing it to pay homage to anything you want — like, perhaps, Mac OS X.
Interested in making your own Windows 7/Mac OS X mashup theme? Just follow these instructions!
Pick your Wallpaper and Window Color
The first step in creating your theme is to find the right wallpaper. Since we're going for a Mac feel, I decided to grab one of the wallpaper images form Mac OS X Snow Leopard. If you want something a little less on-the-nose, but with a distinct Apple style, there are literally hundreds of choices out there. This blog post has some gorgeous options.
To begin actually creating your theme, first right click on your desktop and choose 'Personalization.' From here, you can modify an existing theme or create a new theme. After clicking on the 'Desktop Background' button, you can choose an image from your library to use.
If you see an image on the web that is large enough for your desktop, you can right click on it in Internet Explorer (or Firefox) and choose 'Set As Background' right from the Internet.
The Window color (which offers the option for transparency if your graphics card supports Aero) section can be any color of your choosing. Since I wanted to match the overall 'feel' of Mac OS X, I chose a shade of white and enabled transparency.
Choosing your Icons and Pointers
To make your Windows desktop icons more Mac-like, you can alter the default desktop set directly in your theme. Click on the 'Change Desktop Icons' item on the left hand side of the Personalization window.
You'll see the default Windows 7 icons for My Computer, User, Network and Recycle Bin Empty and Recycle Bin Full. Click on any icon and press the 'Change Icon' button and select an icon (in the *.ICO format) you want to use in its place.
There are a ton of places to get cool icons: Iconfactory, DeviantArt and Iconpaper all have a large selection of icons for Mac and Windows.
However, if you want to use the actual Mac OS X icons, as I did, you can download the Vista/Windows 7-ready versions from this DeviantArt user.
Once you've chosen the icons you want, it's time to make your mouse pointers and hourglass animations look more like Mac OS X.
The Nose Mac Os Download
Select 'Change Mouse Pointer' from the Personalization menu and bring up your default mouse pointer icons. Again, numerous sites across the web offer other options, but if you want to get that Mac OS X look, check out this set, which mimics Mac OS X pointers, including the color wheel.
Save Your Theme and Share With Others
Once you have your theme the way you like it, you can click on the 'Save Theme' option and name your theme so that you can keep it around. You can always edit it later if you decide you want to tweak something.
If you want to share your theme with others, just right click on the theme in your theme list and choose 'Save Theme for Sharing,' then choose a name for your theme. By default it will be stored in the My Documents folder.
Final Results
In under five minutes (once you choose your wallpaper and icons) you can make Windows 7 look something like this:
Yes, it's not the most dramatic makeover, but in a very short amount of time, we've taken Windows 7 and given it enough subtle Mac-like touches that it will feel just a bit homier to Mac fans.
The Nose Mac Os X
Of course, if you're a little more adventurous and really want to transform Windows 7, you can check out this complete Mac OS X skin made for Windows 7! (Note that the skin was made for an older build of Windows 7 and may not work with newer versions out of the box — so, it's definitely not for the faint of heart.)
The Nose Mancuso
What other places do you go to find wallpaper and icons? Share your favorites in the comments.