Re: [Pyobjc-dev] Possible bug in PyObjC bridge (SyncService)
Brought to you by:
ronaldoussoren
From: Mani G. <ma...@tu...> - 2010-04-29 15:58:00
|
On Thu, Apr 29, 2010 at 11:45 AM, Aahz <aa...@py...> wrote: > On Thu, Apr 29, 2010, Mani Ghasemlou wrote: >> >> Users of my app have been complaining of the following error: >> >> ValueError: NSInvalidArgumentException - *** -encodeInt:forKey: only >> defined for abstract class. Define -[NSArchiver encodeInt:forKey:]! >> >> It occurs in the following line of code: >> >> session.prepareToPullChangesForEntityNames_beforeDate_(entityNames, >> NSDate.distantFuture()) >> >> Where "session" is an ISyncSession object >> (http://developer.apple.com/mac/library/documentation/cocoa/Reference/SyncServicesFramework/Classes/ISyncSession_Class/Reference/Reference.html#//apple_ref/occ/cl/ISyncSession), >> and "entityNames" is a Python list of strings. > > What versions of Python, PyObjC, and OSX are you using? What's the full > traceback? What is the value of entityNames? How do you create session? Hi Aahz! I'm building my app on a 10.5.8 system, with standard versions of Python and PyObjC (2.5, and 2.0 respectively). I have not determined if the errors occur on specific versions of OSX, but we QA the application on both Leopard and Snow Leopard and internally we cannot reproduce the problem (yet). The error posted is the full traceback. There is nothing else. The value of entityNames is *always* the following: entityNames = ['com.apple.contacts.Contact', 'com.apple.contacts.Email Address', 'com.apple.calendars.Calendar', 'com.apple.calendars.Event', 'com.apple.calendars.Recurrence', 'com.apple.calendars.Attendee'] The session is created using "ISyncSession.beginSessionWithClient_entityNames_beforeDate_". The prepareToPullChanges... code would not be invoked if creating the session returns a nil/None session object, or if it raises any exception. Thanks! Mani |