NSObject+OCExtensions.m 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //
  2. // NSObject+OCExtensions.m
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2024/2/4.
  6. //
  7. #import "NSObject+OCExtensions.h"
  8. @implementation NSObject (OCExtensions)
  9. @end
  10. @implementation NSDocument (OCExtensions)
  11. - (void)newSaveArchiveToURL:(NSURL *)fileURL email:(BOOL)email {
  12. NSTask *task = [[NSTask alloc] init];
  13. if ([[fileURL pathExtension] isEqualToString:@"dmg"]) {
  14. [task setLaunchPath:@"/usr/bin/hdiutil"];
  15. [task setArguments:[NSArray arrayWithObjects:@"create", @"-srcfolder", [[self fileURL] path], @"-format", @"UDZO", @"-volname", [[fileURL lastPathComponent] stringByDeletingPathExtension], [fileURL path], nil]];
  16. } else {
  17. [task setLaunchPath:@"/usr/bin/tar"];
  18. [task setArguments:[NSArray arrayWithObjects:@"-czf", [fileURL path], [[self fileURL] lastPathComponent], nil]];
  19. }
  20. [task setCurrentDirectoryPath:[[[self fileURL] URLByDeletingLastPathComponent] path]];
  21. [task setStandardOutput:[NSFileHandle fileHandleWithNullDevice]];
  22. [task setStandardError:[NSFileHandle fileHandleWithNullDevice]];
  23. // SKAttachmentEmailer *emailer = nil;
  24. // if (email)
  25. // emailer = [SKAttachmentEmailer attachmentEmailerWithFileURL:fileURL subject:[self displayName] waitingForTask:task];
  26. @try {
  27. [task launch];
  28. }
  29. @catch (id exception) {
  30. // [emailer taskFailed];
  31. }
  32. }
  33. @end
  34. @implementation NSString (OCExtensions)
  35. - (BOOL)isCaseInsensitiveEqual:(NSString *)aString {
  36. return [self caseInsensitiveCompare:aString] == NSOrderedSame;
  37. }
  38. @end