There is no notion of an EventKit calendar whose events you can modify, but that can't be modified from the native calendar app (or from any 3rd party calendar mgmt app, for that matter).
FYI calendars created with EKSourceTypeSubscribed
are not read only, even if you could reliably find the source type.
EKCalendar *theCal = [EKCalendar calendarForEntityType:EKEntityTypeEvent eventStore:self.eventStore];
theCal.source = theSource; // per your source selection snippet above
NSLog(@"isImmutable %d, allowsContentModifications %d", [theCal isImmutable], [theCal allowsContentModifications]);
Results in
isImmutable 0, allowsContentModifications 1