Revision: 29838
http://sourceforge.net/p/bibdesk/svn/29838
Author: hofman
Date: 2025-11-17 16:27:43 +0000 (Mon, 17 Nov 2025)
Log Message:
-----------
avoid deprecated (un)archiving mthods
Modified Paths:
--------------
trunk/bibdesk/BDSKComplexString.m
trunk/bibdesk/BDSKEdgeView.m
trunk/bibdesk/BDSKFileContentSearchController.m
trunk/bibdesk/BDSKFileSearchIndex.m
trunk/bibdesk/BDSKFontWell.m
trunk/bibdesk/BDSKLinkedFile.m
trunk/bibdesk/BDSKPublicationCommand.m
trunk/bibdesk/BDSKSharingServer.m
trunk/bibdesk/BDSKStringNode.m
trunk/bibdesk/BDSKTemplate.m
trunk/bibdesk/BDSKTemplateDocument.m
trunk/bibdesk/BDSKTypeInfoEditor.m
trunk/bibdesk/BibDocument.m
trunk/bibdesk/BibItem.m
trunk/bibdesk/BibPref_Export.m
Modified: trunk/bibdesk/BDSKComplexString.m
===================================================================
--- trunk/bibdesk/BDSKComplexString.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKComplexString.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -366,7 +366,7 @@
if([coder allowsKeyedCoding]){
self = [self initWithNodes:[coder decodeObjectOfClasses:[NSSet
setWithObjects:[NSArray class], [BDSKStringNode class], nil] forKey:@"nodes"]
macroResolver:[coder macroResolverForComplexString] isComplex:[coder
decodeBoolForKey:@"complex"] isInherited:[coder decodeBoolForKey:@"inherited"]];
} else {
- self = [NSKeyedUnarchiver unarchiveObjectWithData:[coder
decodeDataObject]];
+ self = [NSKeyedUnarchiver unarchivedObjectOfClass:[NSString class]
fromData:[coder decodeDataObject] error:NULL];
}
return self;
}
@@ -378,7 +378,7 @@
[coder encodeBool:isComplex forKey:@"complex"];
[coder encodeBool:isInherited forKey:@"inherited"];
} else {
- [coder encodeDataObject:[NSKeyedArchiver
archivedDataWithRootObject:self]];
+ [coder encodeDataObject:[NSKeyedArchiver
archivedDataWithRootObject:self requiringSecureCoding:YES error:NULL]];
}
}
Modified: trunk/bibdesk/BDSKEdgeView.m
===================================================================
--- trunk/bibdesk/BDSKEdgeView.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKEdgeView.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -266,7 +266,10 @@
if (animate == NO) {
[(BDSKReflectionView *)backgroundView
setReflectedScrollView:scrollView];
} else {
- BDSKReflectionView *bgView = [NSKeyedUnarchiver
unarchiveObjectWithData:[NSKeyedArchiver
archivedDataWithRootObject:backgroundView]];
+ NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]
initForReadingFromData:[NSKeyedArchiver
archivedDataWithRootObject:backgroundView requiringSecureCoding:NO error:NULL]
error:NULL];
+ [unarchiver setRequiresSecureCoding:NO];
+ BDSKReflectionView *bgView = [unarchiver
decodeObjectForKey:NSKeyedArchiveRootObjectKey];
+ [unarchiver finishDecoding];
[bgView setReflectedScrollView:scrollView];
wantsSubviews = YES;
[[self animator] replaceSubview:backgroundView with:bgView];
Modified: trunk/bibdesk/BDSKFileContentSearchController.m
===================================================================
--- trunk/bibdesk/BDSKFileContentSearchController.m 2025-11-17 15:47:30 UTC
(rev 29837)
+++ trunk/bibdesk/BDSKFileContentSearchController.m 2025-11-17 16:27:43 UTC
(rev 29838)
@@ -189,10 +189,7 @@
- (NSData *)sortDescriptorData
{
[self view];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- return [NSKeyedArchiver archivedDataWithRootObject:[resultsArrayController
sortDescriptors]];
-#pragma clang diagnostic pop
+ return [NSKeyedArchiver archivedDataWithRootObject:[resultsArrayController
sortDescriptors] requiringSecureCoding:YES error:NULL];
}
- (void)setSortDescriptorData:(NSData *)data
Modified: trunk/bibdesk/BDSKFileSearchIndex.m
===================================================================
--- trunk/bibdesk/BDSKFileSearchIndex.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKFileSearchIndex.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -276,13 +276,12 @@
indexCacheURL = [[NSFileManager defaultManager]
uniqueFileURLWithName:indexCacheName atURL:[[self class] indexCacheFolderURL]
isDirectory:NO];
}
- NSMutableData *data = [NSMutableData data];
- NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]
initForWritingWithMutableData:data];
+ NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]
initRequiringSecureCoding:YES];
[archiver encodeObject:documentURL forKey:@"documentURL"];
[archiver encodeObject:indexData forKey:@"indexData"];
[archiver encodeObject:signatures forKey:@"signatures"];
[archiver finishEncoding];
- [data writeToURL:indexCacheURL atomically:YES];
+ [[archiver encodedData] writeToURL:indexCacheURL atomically:YES];
}
}
Modified: trunk/bibdesk/BDSKFontWell.m
===================================================================
--- trunk/bibdesk/BDSKFontWell.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKFontWell.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -255,7 +255,7 @@
}];
NSDictionary *dict = @{BDSKNSFontCollectionFontDescriptors: @[[[self
font] fontDescriptor]], NSFontSizeAttribute: [NSNumber numberWithDouble:[[self
font] pointSize]]};
- NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dict];
+ NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dict
requiringSecureCoding:NO error:NULL];
NSPasteboardItem *item = [[NSPasteboardItem alloc] init];
[item setData:data
forType:UTIForNSPboardType(BDSKNSFontPanelDescriptorsPboardType)];
@@ -304,7 +304,13 @@
@try {
if ([type isEqualToString:BDSKNSFontPanelDescriptorsPboardType]) {
NSData *data = [pboard dataForType:type];
- NSDictionary *dict = [data isKindOfClass:[NSData class]] ?
[NSKeyedUnarchiver unarchiveObjectWithData:data] : nil;
+ NSDictionary *dict = nil;
+ if (data) {
+ NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]
initForReadingFromData:data error:NULL];
+ [unarchiver setRequiresSecureCoding:NO];
+ dict = [unarchiver
decodeObjectForKey:NSKeyedArchiveRootObjectKey];
+ [unarchiver finishDecoding];
+ }
if ([dict isKindOfClass:[NSDictionary class]]) {
NSArray *fontDescriptors = [dict
objectForKey:BDSKNSFontCollectionFontDescriptors];
NSFontDescriptor *fontDescriptor = ([fontDescriptors
isKindOfClass:[NSArray class]] && [fontDescriptors count]) ? [fontDescriptors
objectAtIndex:0] : nil;
Modified: trunk/bibdesk/BDSKLinkedFile.m
===================================================================
--- trunk/bibdesk/BDSKLinkedFile.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKLinkedFile.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -514,7 +514,7 @@
if (dictionary == nil)
dictionary = [NSDictionary dictionaryWithObjectsAndKeys:path,
RELATIVEPATH_KEY, nil];
if (saveArchivedData)
- return [[NSKeyedArchiver archivedDataWithRootObject:dictionary]
base64EncodedStringWithOptions:0];
+ return [[NSKeyedArchiver archivedDataWithRootObject:dictionary
requiringSecureCoding:YES error:NULL] base64EncodedStringWithOptions:0];
else
return [[NSPropertyListSerialization dataWithPropertyList:dictionary
format:NSPropertyListBinaryFormat_v1_0 options:0 error:NULL]
base64EncodedStringWithOptions:0];
}
Modified: trunk/bibdesk/BDSKPublicationCommand.m
===================================================================
--- trunk/bibdesk/BDSKPublicationCommand.m 2025-11-17 15:47:30 UTC (rev
29837)
+++ trunk/bibdesk/BDSKPublicationCommand.m 2025-11-17 16:27:43 UTC (rev
29838)
@@ -56,7 +56,10 @@
containerSpecifier = [containerSpecifier containerSpecifier];
} else {
[receiversSpecifier setContainerSpecifier:nil];
- keySpecifier = [NSKeyedUnarchiver
unarchiveObjectWithData:[NSKeyedArchiver
archivedDataWithRootObject:receiversSpecifier]];
+ NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]
initForReadingFromData:[NSKeyedArchiver
archivedDataWithRootObject:receiversSpecifier requiringSecureCoding:NO
error:NULL] error:NULL];
+ [unarchiver setRequiresSecureCoding:NO];
+ keySpecifier = [unarchiver
decodeObjectForKey:NSKeyedArchiveRootObjectKey];
+ [unarchiver finishDecoding];
[receiversSpecifier setContainerSpecifier:containerSpecifier];
}
[super setReceiversSpecifier:containerSpecifier];
Modified: trunk/bibdesk/BDSKSharingServer.m
===================================================================
--- trunk/bibdesk/BDSKSharingServer.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKSharingServer.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -796,9 +796,9 @@
for (NSString *key in macroDefs)
[allMacros setObject:[macroDefs objectForKey:key] forKey:key];
}
- NSData *pubsData = [NSKeyedArchiver
archivedDataWithRootObject:[allPubs allObjects]];
+ NSData *pubsData = [NSKeyedArchiver
archivedDataWithRootObject:[allPubs allObjects] requiringSecureCoding:YES
error:NULL];
if ([pubsData length]) {
- NSData *macrosData = [NSKeyedArchiver
archivedDataWithRootObject:allMacros];
+ NSData *macrosData = [NSKeyedArchiver
archivedDataWithRootObject:allMacros requiringSecureCoding:YES error:NULL];
if ([macrosData length] == 0)
macrosData = nil;
pubsAndMacros = [[NSDictionary alloc]
initWithObjectsAndKeys:pubsData, BDSKSharedArchivedDataKey, macrosData,
BDSKSharedArchivedDataKey, nil];
Modified: trunk/bibdesk/BDSKStringNode.m
===================================================================
--- trunk/bibdesk/BDSKStringNode.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKStringNode.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -73,7 +73,7 @@
value = [coder decodeObjectOfClass:[NSString class]
forKey:@"value"];
}
} else {
- self = [NSKeyedUnarchiver unarchiveObjectWithData:[coder
decodeDataObject]];
+ self = [NSKeyedUnarchiver unarchivedObjectOfClass:[NSString class]
fromData:[coder decodeDataObject] error:NULL];
}
return self;
}
@@ -83,7 +83,7 @@
[encoder encodeInteger:type forKey:@"type"];
[encoder encodeObject:value forKey:@"value"];
} else {
- [encoder encodeDataObject:[NSKeyedArchiver
archivedDataWithRootObject:self]];
+ [encoder encodeDataObject:[NSKeyedArchiver
archivedDataWithRootObject:self requiringSecureCoding:YES error:NULL]];
}
}
Modified: trunk/bibdesk/BDSKTemplate.m
===================================================================
--- trunk/bibdesk/BDSKTemplate.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKTemplate.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -285,7 +285,7 @@
exportTemplateTree = nil;
[[NSNotificationCenter defaultCenter]
postNotificationName:BDSKExportTemplatesChangedNotification object:self];
} else {
- NSData *data = [NSKeyedArchiver archivedDataWithRootObject:tree];
+ NSData *data = [NSKeyedArchiver archivedDataWithRootObject:tree
requiringSecureCoding:YES error:NULL];
if (nil == data) {
NSLog(@"Unable to archive %@", tree);
} else {
@@ -313,7 +313,7 @@
if (tree == nil) {
serviceTemplateTree = nil;
} else {
- NSData *data = [NSKeyedArchiver archivedDataWithRootObject:tree];
+ NSData *data = [NSKeyedArchiver archivedDataWithRootObject:tree
requiringSecureCoding:YES error:NULL];
if (nil == data) {
NSLog(@"Unable to archive %@", tree);
} else {
Modified: trunk/bibdesk/BDSKTemplateDocument.m
===================================================================
--- trunk/bibdesk/BDSKTemplateDocument.m 2025-11-17 15:47:30 UTC (rev
29837)
+++ trunk/bibdesk/BDSKTemplateDocument.m 2025-11-17 16:27:43 UTC (rev
29838)
@@ -981,7 +981,7 @@
for (id object in objects)
[str appendString:[self tokenField:tokenField
displayStringForRepresentedObject:object]];
- NSData *data = [NSKeyedArchiver archivedDataWithRootObject:objects];
+ NSData *data = [NSKeyedArchiver archivedDataWithRootObject:objects
requiringSecureCoding:NO error:NULL];
NSPasteboardItem *item = [[NSPasteboardItem alloc] init];
[item setData:data forType:BDSKPasteboardTypeTemplateTokens];
@@ -996,7 +996,11 @@
if (tokenField == itemTemplateTokenField) {
if ([pboard
availableTypeFromArray:@[BDSKPasteboardTypeTemplateTokens]]) {
NSData *data = [pboard
dataForType:BDSKPasteboardTypeTemplateTokens];
- return [NSKeyedUnarchiver unarchiveObjectWithData:data];
+ NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]
initForReadingFromData:data error:NULL];
+ [unarchiver setRequiresSecureCoding:NO];
+ NSArray *tokens = [unarchiver
decodeObjectForKey:NSKeyedArchiveRootObjectKey];
+ [unarchiver finishDecoding];
+ return tokens;
} else {
NSArray *strings = [pboard readObjectsForClasses:@[[NSString
class]] options:@{}];
if ([strings count] > 0)
Modified: trunk/bibdesk/BDSKTypeInfoEditor.m
===================================================================
--- trunk/bibdesk/BDSKTypeInfoEditor.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BDSKTypeInfoEditor.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -590,7 +590,7 @@
// we only drag our own rows
[pboard clearContents];
// write the rows to the pasteboard
- [pboard setData:[NSKeyedArchiver archivedDataWithRootObject:rowIndexes]
forType:BDSKPasteboardTypeInfoRows];
+ [pboard setData:[NSKeyedArchiver archivedDataWithRootObject:rowIndexes
requiringSecureCoding:YES error:NULL] forType:BDSKPasteboardTypeInfoRows];
if ([tv isEqual:typeTableView] && [rowIndexes count]) {
NSMutableArray *newTypes = [NSMutableArray array];
[rowIndexes enumerateIndexesUsingBlock:^(NSUInteger row, BOOL *stop){
@@ -635,7 +635,7 @@
return NO;
}
- NSIndexSet *rowIndexes = [NSKeyedUnarchiver
unarchiveObjectWithData:[pboard dataForType:BDSKPasteboardTypeInfoRows]];
+ NSIndexSet *rowIndexes = [NSKeyedUnarchiver
unarchivedObjectOfClass:[NSIndexSet class] fromData:[pboard
dataForType:BDSKPasteboardTypeInfoRows] error:NULL];
NSIndexSet *insertIndexes;
NSTableView *sourceTv = [info draggingSource];
Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BibDocument.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -737,7 +737,7 @@
[dictionary setObject:[NSNumber
numberWithUnsignedInteger:encoding] forKey:BDSKDocumentStringEncodingKey];
// encode groups so we can select them later with isEqual: (saving row
indexes would not be as reliable)
- [dictionary setObject:([self
hasGroupTypeSelected:BDSKExternalGroupType | BDSKLibraryGroupType] ? [NSData
data] : [NSKeyedArchiver archivedDataWithRootObject:[self selectedGroups]])
forKey:BDSKSelectedGroupsKey];
+ [dictionary setObject:([self
hasGroupTypeSelected:BDSKExternalGroupType | BDSKLibraryGroupType] ? [NSData
data] : [NSKeyedArchiver archivedDataWithRootObject:[self selectedGroups]
requiringSecureCoding:YES error:NULL]) forKey:BDSKSelectedGroupsKey];
NSArray *selectedKeys = [[self selectedPublications]
valueForKey:@"citeKey"];
if ([selectedKeys count] == 0 || [self
hasGroupTypeSelected:BDSKExternalGroupType])
Modified: trunk/bibdesk/BibItem.m
===================================================================
--- trunk/bibdesk/BibItem.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BibItem.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -477,13 +477,12 @@
#pragma mark Archiving
+ (NSData *)archivedPublications:(NSArray *)array {
- NSMutableData *data = [NSMutableData data];
- NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]
initForWritingWithMutableData:data];
+ NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]
initRequiringSecureCoding:YES];
[archiver encodeObject:array forKey:@"publications"];
[archiver finishEncoding];
- return data;
+ return [archiver encodedData];
}
+ (NSArray *)publicationsFromPasteboard:(NSPasteboard *)pboard
macroResolver:(BDSKMacroResolver *)aMacroResolver {
Modified: trunk/bibdesk/BibPref_Export.m
===================================================================
--- trunk/bibdesk/BibPref_Export.m 2025-11-17 15:47:30 UTC (rev 29837)
+++ trunk/bibdesk/BibPref_Export.m 2025-11-17 16:27:43 UTC (rev 29838)
@@ -218,7 +218,7 @@
// return archived item
- (id)outlineView:(NSOutlineView *)ov persistentObjectForItem:(id)item
{
- return [NSKeyedArchiver archivedDataWithRootObject:item];
+ return [NSKeyedArchiver archivedDataWithRootObject:item
requiringSecureCoding:YES error:NULL];
}
// @@ Dark Mode
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit