Skip to content

Commit

Permalink
feat: Update to xcode 15 macos 14.2
Browse files Browse the repository at this point in the history
project.pbxproj
* disabled user script sandboxing to avoid errors running perl script for markdown.
* Added additional xcode settings for v15
* Updated deployment targets to 14.2

xcschemes
* Updated schemas to upgradeversion 1520 for xcode 15.

DiskArbitratorAppController.m
* Removed calls to deprecated APIs replacing with new ones.

Fix: Fixes [Issue aburgh#48](aburgh#48)
  • Loading branch information
disaac committed Feb 23, 2024
1 parent 23e687f commit 2a0c308
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 21 deletions.
29 changes: 24 additions & 5 deletions DiskArbitrator.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 52;
objectVersion = 60;
objects = {

/* Begin PBXAggregateTarget section */
Expand Down Expand Up @@ -300,10 +300,11 @@
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1130;
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1520;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "DiskArbitrator" */;
compatibilityVersion = "Xcode 11.0";
compatibilityVersion = "Xcode 15.0";
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
Expand Down Expand Up @@ -442,8 +443,10 @@
CLANG_ENABLE_OBJC_WEAK = YES;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
MACOSX_DEPLOYMENT_TARGET = 14.2;
PRODUCT_NAME = "Disk Arbitrator.dmg";
};
name = Debug;
Expand All @@ -454,7 +457,9 @@
CLANG_ENABLE_OBJC_WEAK = YES;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
MACOSX_DEPLOYMENT_TARGET = 14.2;
PRODUCT_NAME = "Disk Arbitrator.dmg";
ZERO_LINK = NO;
};
Expand All @@ -469,15 +474,19 @@
CODE_SIGN_IDENTITY = "-";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Source/DiskArbitrator_Prefix.pch;
INFOPLIST_FILE = "Resources/DiskArbitrator-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 14.2;
PRODUCT_BUNDLE_IDENTIFIER = "us.burghardt.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Disk Arbitrator";
PROVISIONING_PROFILE = "";
PROVISIONING_PROFILE_SPECIFIER = "";
};
name = Debug;
};
Expand All @@ -489,14 +498,18 @@
CLANG_WARN_OBJC_INTERFACE_IVARS = YES_ERROR;
CODE_SIGN_IDENTITY = "-";
COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_HARDENED_RUNTIME = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Source/DiskArbitrator_Prefix.pch;
INFOPLIST_FILE = "Resources/DiskArbitrator-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 14.2;
PRODUCT_BUNDLE_IDENTIFIER = "us.burghardt.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Disk Arbitrator";
PROVISIONING_PROFILE = "";
PROVISIONING_PROFILE_SPECIFIER = "";
};
name = Release;
};
Expand All @@ -515,13 +528,16 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
DEAD_CODE_STRIPPING = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
Expand All @@ -533,7 +549,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MACOSX_DEPLOYMENT_TARGET = 14.2;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
Expand All @@ -554,12 +570,15 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
DEAD_CODE_STRIPPING = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
Expand All @@ -570,7 +589,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.12;
MACOSX_DEPLOYMENT_TARGET = 14.2;
SDKROOT = macosx;
};
name = Release;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1130"
LastUpgradeVersion = "1520"
version = "1.8">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1130"
LastUpgradeVersion = "1520"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
28 changes: 14 additions & 14 deletions Source/DiskArbitratorAppController.m
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ - (void)setStatusItemIconWithName:(NSString *)name
{
NSString *iconPath = [[NSBundle mainBundle] pathForResource:name ofType:@"png"];
NSImage *statusIcon = [[NSImage alloc] initWithContentsOfFile:iconPath];
statusItem.image = statusIcon;
statusItem.button.image = statusIcon;
}

- (void)refreshStatusItemIcon
Expand Down Expand Up @@ -83,8 +83,8 @@ - (void)applicationDidFinishLaunching:(NSNotification *)notification
self.statusItem = [bar statusItemWithLength:NSSquareStatusItemLength];
NSImage *altImage = [[NSImage imageNamed:@"StatusItem Disabled 1.png"] copy];
[altImage setTemplate:YES];
self.statusItem.alternateImage = altImage;
[self.statusItem setHighlightMode:YES];
self.statusItem.button.alternateImage = altImage;
[self.statusItem.button.cell setHighlightsBy:NSNoCellMask];
[self setStatusItemIconWithName:@"StatusItem Disabled 1"];
statusItem.menu = statusMenu;

Expand All @@ -105,7 +105,7 @@ - (void)applicationDidFinishLaunching:(NSNotification *)notification
window.collectionBehavior = NSWindowCollectionBehaviorCanJoinAllSpaces;
window.worksWhenModal = YES;

[tableView registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]];
[tableView registerForDraggedTypes:[NSArray arrayWithObject:NSPasteboardTypeFileURL]];

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"ShowMainWindowAtStartup"])
[window makeKeyAndOrderFront:self];
Expand Down Expand Up @@ -510,13 +510,13 @@ - (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id <NSDraggingInfo>)
Log(LOG_DEBUG, @"%s op: %ld info: %@", __func__, op, info);

NSPasteboard* pboard = [info draggingPasteboard];

if (op == NSDragOperationCopy && [pboard.types containsObject:NSFilenamesPboardType]) {
NSArray *files = [pboard propertyListForType:NSFilenamesPboardType];
if (op == NSDragOperationCopy && [pboard.types containsObject:NSPasteboardTypeFileURL])
{
NSArray *files = [pboard propertyListForType:NSPasteboardTypeFileURL];
NSArray *extensions = [AttachDiskImageController diskImageFileExtensions];

for (NSString *file in files) {
for (NSURL *file in files) {
if ([extensions containsObject:[file pathExtension]] == NO)
return NSDragOperationNone;
}
Expand Down Expand Up @@ -551,12 +551,12 @@ - (BOOL)tableView:(NSTableView *)aTableView acceptDrop:(id <NSDraggingInfo>)info

Log(LOG_DEBUG, @"%s", __func__);

if (operation == NSDragOperationCopy && [pboard.types containsObject:NSFilenamesPboardType] ) {
NSArray *files = [pboard propertyListForType:NSFilenamesPboardType];

if (operation == NSDragOperationCopy && [pboard.types containsObject:NSPasteboardTypeFileURL] ) {
NSArray *files = [pboard propertyListForType:NSPasteboardTypeFileURL];
Log(LOG_DEBUG, @"files: %@", files);

for (NSString *file in files)
for (NSURL *file in files)
[self performSelector:@selector(doAttachDiskImageAtPath:) withObject:file afterDelay:0.01];
}
return YES;
Expand Down

0 comments on commit 2a0c308

Please sign in to comment.