Okay, here is the back story. There are many articles out there on how to run two Google Notifiers, however, none of them are complete. Some cover part of the process and then link out to broken links, such as the link to newmotiongear.com that shows rather frequently:
So, I hope to cover all aspects here.
How to Run Two Google Notifiers
This part is covered well elsewhere and the steps are simple:
- Duplicate the "Google Notifier" app in Applications and re-name it
- Modify the "Bundle Identifier" in the Info.plist of the new app
- Right-click the new app and select "Show Package Contents"
- Open Contents => Info.plist (using the default app: Property List Editor)
- Change the "Bundle Identifier" to something other than what is there, such as: com.google.GmailNotifierPersonal
(Hint: select the line and hit the space bar to activate edit mode.)
However, if you close out of your new Google Notifier app you made and start it again you will notice it didn't save your password. This is the part that other tutorials lack.
How to Make Google Notifier Save Your Password
Thankfully, someone explained on a Google forum that after OS X Tiger the Google Notifier app is now signed. Because the Keychain won't store passwords for applications with invalid signatures, the new Google Notifier app we made won't work. The solution is to re-sign the app, which is super simple:
- Create a Signing Identity
- Open up the "Keychain Access" application
- Select Keychain Access => Certificate Assistant => Create Certificate
- Enter a name in the first option, select "Self Signed Root" for the second option, and select "Code Signing" for the third option
- Resign the new application
- Open up Terminal
- Run the "codesign" command similar to the following, remembering to replace "My Signing Identity" with the name of the Signing Identity you just made and "Google\ Notifier\ Mine.app" with the name of the app you made:
$ codesign -s "My Signing Identity" -f /Applications/Google\ Notifier\ Mine.app /Applications/Google Notifier Mine.app: replacing invalid existing signature
- Finally, check to make sure the signature worked properly by running:
$ codesign -vvv /Applications/Google\ Notifier\ Mine.app /Applications/Google Notifier Mine.app: valid on disk /Applications/Google Notifier Mine.app: satisfies its Designated Requirement
If you see any errors, check to make sure you're using the right signing identity and path to the application.
Special thanks to Daniel Silva for his blog post explaining about code signing, a worthy read and gives more details on the process: