Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
readme.txt
IRCServicePlugIn |
A sample IMServicePlugIn implementing the IRC protocol. Shows how to use IMServicePlugIn, IMServicePlugInGroupListSupport, IMServicePlugInGroupListHandlePictureSupport, IMServicePlugInInstantMessagingSupport, IMServicePlugInChatRoomSupport and IMServicePlugInPresenceSupport protocols in a service plugin and also how to utilize IMServiceApplication, IMServiceApplicationGroupListSupport, IMServiceApplicationInstantMessagingSupport and IMServiceApplicationChatRoomSupport to make callbacks to iChat. |
==== Project Setup ==== |
To set up your project in Xcode 4.1 or higher: |
1) Open Xcode |
2) File->New->New Project |
3) Select Framework & Library |
4) Click Bundle then Next |
5) Name your project (IRCServicePlugin in this case) |
6) Hit Next then Create |
7) Select the bundle target in the project editor |
8) Change the "Wrapper Extension" to "imserviceplugin" |
9) Change the "Installation Directory" to "/Library/iChat/PlugIns" for a system install or "~/Library/iChat/PlugIns" for a user install |
10) Change the "Product Name" if desired, in this case it was changed to just "IRC" |
11) Edit the Info.plist to add the IMServiceCapabilities your project supports, in the IRC case it is set to the following: |
IMServiceCapabilityInstantMessagingSupport |
IMServiceCapabilityChatRoomSupport |
IMServiceCapabilityGroupListSupport |
IMServiceCapabilityGroupListHandlePictureSupport |
IMServiceCapabilityGroupListHandlePictureSupport |
12) Edit the IM settings in the Info.plist to any non-default settings, IRC has the following set: |
IMUsesEnableSSLAccountSetting=NO |
IMUsesPasswordAccountSetting=NO |
IMDefaultServerPortAccountSetting=6667 |
13) Edit the Principal Class in Info.plist to point to the class that implements the protocols listed as supported. For IRC it's set to IRCServicePlugIn. |
==== Testing and Debugging ==== |
To test your plugin, link or copy it to /Library/iChat/PlugIns, quit iChat and run "killall imagent" from the Terminal. It should then show up in iChat when you try to add a new account. |
To debug the plugin, disable all other accounts in iChat and attach to IMServicePlugInAgent in Xcode from Product->Attach to Process. |
Copyright © 2011 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2011-06-08