• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
iCal syncing bug?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

iCal syncing bug?


  • Subject: iCal syncing bug?
  • From: "Rimas M." <email@hidden>
  • Date: Mon, 27 Feb 2006 16:50:36 +0200

Hello,

I am still having problems with iCal.

Situation:
a) I have some records, pushed from my app into iCal. Lets say its a Calendar and Task.
b) my app deletes them by calling deleteRecordWithIdentifier
c) my app push records, to make identical calendar (with new id) and event in it.


Result:
in iCal I find new calendar with event and...the deleted calendar. It can not be deleted manually from iCal. I must turn off iCal and start it again. Then it is gone..
If I pull the truth from sync services, when iCal is showing deleted calendar, there is no such record in sync services db..


 There is some more info from Syncospector.

<<<<<< session 1 >>>>>>
My app deletes Calendar and Task. iCal actions history:

{
calldate = 2006-02-27 14:43:52.405;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:43:52.858;
returnedvalue = <ISyncChange 0x599f17a0>{ delete record id 'Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B/Task: 3AD806F4-3BF0-424B-BBFC-8C677592264E' (no changes) };
}


{
calldate = 2006-02-27 14:43:52.858;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:43:52.859;
returnedvalue = <ISyncChange 0x599f1a20>{ delete record id 'Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B' (no changes) };
}


Pay attention, that calendar id (in iCal) is Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B.

After that, in the same delete session iCal still converts ids:

{
calldate = 2006-02-27 14:43:52.902;
methodname = "clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI dentifier:";
parameters = (
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B",
<null>,
"57A88F45-4FC6-4115-973A-CFC4E65302D1"
);
returndate = 2006-02-27 14:43:52.902;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:43:52.902;
methodname = "clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI dentifier:";
parameters = (
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B/Task: 3AD806F4-3BF0-424B-BBFC-8C677592264E",
<null>,
"6B9B5485-C808-4F6E-A516-2FCE7924FB9E"
);
returndate = 2006-02-27 14:43:52.902;
returnedvalue = <null>;
}


<<<<<< session 2 >>>>>>
In the next sync session my app adds new calendar and event in it. iCal history:


{
calldate = 2006-02-27 14:44:31.019;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:44:31.061;
returnedvalue = <ISyncChange 0x5ab498c0>{ add record id 'com.apple.syncservices:90AD20DE-7942-4472-BE58-4DDAEA46C2F3'
set start date = 2006-02-27 14:40:00 +0200
set all day = 0
set calendar = ("com.apple.syncservices:08A5D70A-B854-402D- BBE3-33F7A2E36029")
set end date = 2006-02-28 14:40:00 +0200
set summary = Event_title
set com.apple.syncservices.RecordEntityName = com.apple.calendars.Event };
}


{
calldate = 2006-02-27 14:44:31.061;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:44:31.061;
returnedvalue = <ISyncChange 0x5ab4a390>{ add record id 'com.apple.syncservices:08A5D70A-B854-402D-BBE3-33F7A2E36029'
set com.apple.ical.type = local
set com.apple.syncservices.RecordEntityName = com.apple.calendars.Calendar
set events = ("com.apple.syncservices:90AD20DE-7942-4472- BE58-4DDAEA46C2F3")
set read only = 0
set title = Kalendorius };
}


Again iCal notices sync services about id changes:

{
calldate = 2006-02-27 14:44:31.505;
methodname = "clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI dentifier:";
parameters = (
"com.apple.syncservices:08A5D70A-B854-402D-BBE3-33F7A2E36029",
<null>,
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
returndate = 2006-02-27 14:44:31.505;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:31.505;
methodname = "clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI dentifier:";
parameters = (
"com.apple.syncservices:90AD20DE-7942-4472-BE58-4DDAEA46C2F3",
<null>,
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87/ Event:D017739A-D01B-497B-B3F5-2D99E41715A6"
);
returndate = 2006-02-27 14:44:31.505;
returnedvalue = <null>;
}


<<<<<< session 3 >>>>>>
After while iCal begins session and is doing:

{
calldate = 2006-02-27 14:44:31.505;
methodname = "clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI dentifier:";
parameters = (
"com.apple.syncservices:90AD20DE-7942-4472-BE58-4DDAEA46C2F3",
<null>,
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87/ Event:D017739A-D01B-497B-B3F5-2D99E41715A6"
);
returndate = 2006-02-27 14:44:31.505;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.343;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar = ("Calendar:17891C5B-6A8E-4EF3- A350-0D993C0B5ABD");
"com.apple.syncservices.RecordEntityName" = "com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.00784314 0.321569 0.831373 1;
title = kalendorius;
type = source;
"url publishers" = ();
},
"Node:5E4216D2-7E96-41E7-A3FD-7B7B31266B1A"
);
returndate = 2006-02-27 14:44:40.343;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.343;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:C224F134-1433-4601-9002- CE5FD366DF6A");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" = "com.apple.calendars.Calendar";
events = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF/Event: 030EDBD6-4A8F-441D-BA32-2EA1AB5353AE"
);
"read only" = 0;
tasks = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF/Task: 2BE5907B-DE19-48C2-BD4F-EB92A3254ED8"
);
title = VIETINIS;
},
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF"
);
returndate = 2006-02-27 14:44:40.344;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.344;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar = ("Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B");
"com.apple.syncservices.RecordEntityName" = "com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.898039 0.0901961 0.0901961 1;
title = Kalendorius;
type = source;
"url publishers" = ();
},
"Node:0768CF39-DAC3-422C-8991-2520BC368D28"
);
returndate = 2006-02-27 14:44:40.344;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.344;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar = ("Calendar:BDA80050-EDCA-41D6-BC5C- E7CCD3FEC7CF");
"com.apple.syncservices.RecordEntityName" = "com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.172549 0.631373 0.0431373 1;
title = VIETINIS;
type = source;
"url publishers" = ();
},
"Node:C224F134-1433-4601-9002-CE5FD366DF6A"
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendars = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF",
"Calendar:17891C5B-6A8E-4EF3-A350-0D993C0B5ABD",
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B",
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
"com.apple.syncservices.RecordEntityName" = "com.apple.calendars.CalendarOrder";
identity = "com.apple.calendars.CalendarOrder";
},
CalendarOrder
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:0768CF39- DAC3-422C-8991-2520BC368D28");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" = "com.apple.calendars.Calendar";
events = ();
"read only" = 0;
tasks = ();
title = Kalendorius;
},
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B"
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:5E4216D2-7E96-41E7- A3FD-7B7B31266B1A");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" = "com.apple.calendars.Calendar";
events = ();
"read only" = 0;
tasks = ();
title = kalendorius;
},
"Calendar:17891C5B-6A8E-4EF3-A350-0D993C0B5ABD"
);
returndate = 2006-02-27 14:44:40.346;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.346;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar = ("Calendar:ED546B2E-13A9-4F35-95C2- B672606C0A87");
"com.apple.syncservices.RecordEntityName" = "com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.960784 0.470588 0.00784314 1;
title = Kalendorius;
type = source;
"url publishers" = ();
},
"Node:354D88B9-07B8-49B1-A235-39B1D388DEBB"
);
returndate = 2006-02-27 14:44:40.346;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.346;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.syncservices.RecordEntityName" = "com.apple.ical.calendars.TaskOrder";
identity = "com.apple.ical.calendars.TaskOrder";
lastmodificationdate = 1-01-02 02:00:00 +0200;
tasks = ();
},
TaskOrder
);
returndate = 2006-02-27 14:44:40.346;
returnedvalue = <null>;
}


{
calldate = 2006-02-27 14:44:40.346;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:354D88B9-07B8-49B1- A235-39B1D388DEBB");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" = "com.apple.calendars.Calendar";
events = (
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87/ Event:D017739A-D01B-497B-B3F5-2D99E41715A6"
);
"read only" = 0;
tasks = ();
title = Kalendorius;
},
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
returndate = 2006-02-27 14:44:40.347;
returnedvalue = <null>;
}


Only pushes from iCal. Nothing to pull.

in record:
{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendars = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF",
"Calendar:17891C5B-6A8E-4EF3-A350-0D993C0B5ABD",
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B",
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
"com.apple.syncservices.RecordEntityName" = "com.apple.calendars.CalendarOrder";
identity = "com.apple.calendars.CalendarOrder";
},
CalendarOrder
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}


we can find calendar id Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B, which actually, should be deleted in a previous session. And now iCal is showing the new calendar with event, and the old one, with id Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B, which should be gone. As I have mentioned - it is not possible to delete that calendar from iCal. If I turn off iCal and start it again, that deleted calendar is gone..

So. My question is - is that a bug in iCal, or there is something, that I can not understand or simply missed?

Regards,


Rimas M.


_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Prev by Date: Help in Sketch Example
  • Next by Date: Re: Why is NSFontManager lying to me ?
  • Previous by thread: Help in Sketch Example
  • Next by thread: Help
  • Index(es):
    • Date
    • Thread