CKRecordZoneSubscription init returns nil on device

Hi,

I am trying to create a new object for CKRecordZoneSubscription, but it seems to return nil when I run this on device, though it runs fine on the iPhone simulator! Here is my basic init code:


CKRecordZoneSubscription *privateZoneSubscription =[[CKRecordZoneSubscription alloc] initWithZoneID:database.privateRecordZone.zoneID];


Fairly simple .... but returns nil. I've checked and the database.privateRecordZone.zoneID is a valid value.


For some odd reason, it works fine on the iPhone simulator, but not on real devices.


Is there aynthing I should check / uncheck? If someone has any insights, it would be great to know.