diff --git a/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout b/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout
index 164fbcdc..27ca984b 100644
--- a/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout
+++ b/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout
@@ -5,7 +5,7 @@
IDESourceControlProjectFavoriteDictionaryKey
IDESourceControlProjectIdentifier
- CC7A6AA5-3ED2-4398-826E-A6E4176230EF
+ 1DC75A27-0030-4493-ACE8-E1D49AB9A549
IDESourceControlProjectName
MasterPassword
IDESourceControlProjectOriginsDictionary
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.xcodeproj/project.pbxproj b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.xcodeproj/project.pbxproj
index aa4b80bd..5d5c3c0b 100644
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.xcodeproj/project.pbxproj
+++ b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.xcodeproj/project.pbxproj
@@ -7,10 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
- DA3B84581915577F00246EEA /* Crashlytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA3B84571915577F00246EEA /* Crashlytics.framework */; };
- DAD9B5CF176299B9001835F9 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAD9B5CD176299B9001835F9 /* InfoPlist.strings */; };
DAD9B5D1176299B9001835F9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DAD9B5D0176299B9001835F9 /* main.m */; };
- DAD9B5D8176299B9001835F9 /* MPLoginAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DAD9B5D7176299B9001835F9 /* MPLoginAppDelegate.m */; };
DAD9B5EC1762AAA6001835F9 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD9B5EB1762AAA6001835F9 /* AppKit.framework */; };
/* End PBXBuildFile section */
@@ -18,10 +15,7 @@
DA3B84571915577F00246EEA /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Crashlytics.framework; path = ../../../../External/Mac/Crashlytics.framework; sourceTree = ""; };
DAD9B5C1176299B9001835F9 /* MasterPassword-Mac-LoginHelper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "MasterPassword-Mac-LoginHelper.app"; sourceTree = BUILT_PRODUCTS_DIR; };
DAD9B5CC176299B9001835F9 /* MasterPassword-Mac-LoginHelper-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MasterPassword-Mac-LoginHelper-Info.plist"; sourceTree = ""; };
- DAD9B5CE176299B9001835F9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
DAD9B5D0176299B9001835F9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- DAD9B5D6176299B9001835F9 /* MPLoginAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPLoginAppDelegate.h; sourceTree = ""; };
- DAD9B5D7176299B9001835F9 /* MPLoginAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPLoginAppDelegate.m; sourceTree = ""; };
DAD9B5EA17629C56001835F9 /* MasterPassword-Mac-LoginHelper.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "MasterPassword-Mac-LoginHelper.entitlements"; sourceTree = ""; };
DAD9B5EB1762AAA6001835F9 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
@@ -32,7 +26,6 @@
buildActionMask = 2147483647;
files = (
DAD9B5EC1762AAA6001835F9 /* AppKit.framework in Frameworks */,
- DA3B84581915577F00246EEA /* Crashlytics.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -69,8 +62,6 @@
isa = PBXGroup;
children = (
DAD9B5EA17629C56001835F9 /* MasterPassword-Mac-LoginHelper.entitlements */,
- DAD9B5D6176299B9001835F9 /* MPLoginAppDelegate.h */,
- DAD9B5D7176299B9001835F9 /* MPLoginAppDelegate.m */,
DAD9B5CB176299B9001835F9 /* Supporting Files */,
);
path = "MasterPassword-Mac-LoginHelper";
@@ -80,7 +71,6 @@
isa = PBXGroup;
children = (
DAD9B5CC176299B9001835F9 /* MasterPassword-Mac-LoginHelper-Info.plist */,
- DAD9B5CD176299B9001835F9 /* InfoPlist.strings */,
DAD9B5D0176299B9001835F9 /* main.m */,
);
name = "Supporting Files";
@@ -115,6 +105,16 @@
CLASSPREFIX = MP;
LastUpgradeCheck = 0510;
ORGANIZATIONNAME = "Maarten Billemont";
+ TargetAttributes = {
+ DAD9B5C0176299B9001835F9 = {
+ DevelopmentTeam = HL3Q45LX9N;
+ SystemCapabilities = {
+ com.apple.Sandbox = {
+ enabled = 1;
+ };
+ };
+ };
+ };
};
buildConfigurationList = DAD9B5BC176299B9001835F9 /* Build configuration list for PBXProject "MasterPassword-Mac-LoginHelper" */;
compatibilityVersion = "Xcode 3.2";
@@ -138,7 +138,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- DAD9B5CF176299B9001835F9 /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -150,23 +149,11 @@
buildActionMask = 2147483647;
files = (
DAD9B5D1176299B9001835F9 /* main.m in Sources */,
- DAD9B5D8176299B9001835F9 /* MPLoginAppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
-/* Begin PBXVariantGroup section */
- DAD9B5CD176299B9001835F9 /* InfoPlist.strings */ = {
- isa = PBXVariantGroup;
- children = (
- DAD9B5CE176299B9001835F9 /* en */,
- );
- name = InfoPlist.strings;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
/* Begin XCBuildConfiguration section */
DA3B845A1916AC5100246EEA /* AppStore-Mac */ = {
isa = XCBuildConfiguration;
@@ -219,12 +206,8 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = "MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.entitlements";
- CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Maarten Billemont (HL3Q45LX9N)";
+ CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application";
COMBINE_HIDPI_IMAGES = YES;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- /Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Mac,
- );
INFOPLIST_FILE = "$(SRCROOT)/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper-Info.plist";
};
name = "AppStore-Mac";
@@ -334,12 +317,8 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = "MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.entitlements";
- CODE_SIGN_IDENTITY = "Mac Developer: Maarten Billemont (DWGU95U4ZD)";
+ CODE_SIGN_IDENTITY = "Mac Developer";
COMBINE_HIDPI_IMAGES = YES;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- /Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Mac,
- );
INFOPLIST_FILE = "$(SRCROOT)/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper-Info.plist";
};
name = "Debug-Mac";
@@ -348,12 +327,8 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = "MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.entitlements";
- CODE_SIGN_IDENTITY = "Mac Developer: Maarten Billemont (DWGU95U4ZD)";
+ CODE_SIGN_IDENTITY = "Developer ID Application: Maarten Billemont (HL3Q45LX9N)";
COMBINE_HIDPI_IMAGES = YES;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- /Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Mac,
- );
INFOPLIST_FILE = "$(SRCROOT)/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper-Info.plist";
};
name = "AdHoc-Mac";
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MPLoginAppDelegate.h b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MPLoginAppDelegate.h
deleted file mode 100644
index cdf169f1..00000000
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MPLoginAppDelegate.h
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// MPAppDelegate.h
-// MasterPassword-Mac-LoginHelper
-//
-// Created by Maarten Billemont on 2013-06-07.
-// Copyright (c) 2013 Maarten Billemont. All rights reserved.
-//
-
-#import
-
-@interface MPLoginAppDelegate : NSObject
-
-@end
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MPLoginAppDelegate.m b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MPLoginAppDelegate.m
deleted file mode 100644
index 4807eb23..00000000
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MPLoginAppDelegate.m
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// MPAppDelegate.m
-// MasterPassword-Mac-LoginHelper
-//
-// Created by Maarten Billemont on 2013-06-07.
-// Copyright (c) 2013 Maarten Billemont. All rights reserved.
-//
-
-#import "MPLoginAppDelegate.h"
-
-@implementation MPLoginAppDelegate
-
-- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
-
- NSLog(@"LoginHelper did start");
- for (NSRunningApplication *app in [[NSWorkspace sharedWorkspace] runningApplications])
- if ([[app bundleIdentifier] isEqualToString:@"com.lyndir.lhunath.MasterPassword.Mac"]) {
- NSLog(@"Already running.");
- [NSApp terminate:nil];
- return;
- }
-
- NSString *path = [[NSBundle mainBundle] bundlePath];
- NSLog(@"Path: %@", path);
- NSArray *p = [path pathComponents];
- NSLog(@"PathComponents: %@", p);
- NSMutableArray *pathComponents = [NSMutableArray arrayWithArray:p];
- [pathComponents removeLastObject];
- [pathComponents removeLastObject];
- [pathComponents removeLastObject];
- [pathComponents addObject:@"MacOS"];
- [pathComponents addObject:@"MasterPassword"];
- NSLog(@"PathComponents modified: %@", pathComponents);
- NSString *newPath = [NSString pathWithComponents:pathComponents];
- NSLog(@"newPath: %@", newPath);
- NSLog(@"launchApplication: %@", @([[NSWorkspace sharedWorkspace] launchApplication:newPath]));
-}
-
-@end
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.entitlements b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.entitlements
index 852fa1a4..52f1eefd 100644
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.entitlements
+++ b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.entitlements
@@ -4,5 +4,9 @@
com.apple.security.app-sandbox
+ com.apple.security.application-groups
+
+ HL3Q45LX9N.com.lyndir.lhunath.MasterPassword.Mac
+
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/en.lproj/InfoPlist.strings b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/en.lproj/InfoPlist.strings
deleted file mode 100644
index 477b28ff..00000000
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/en.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/main.m b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/main.m
index 835a0fd8..f0902132 100644
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/main.m
+++ b/MasterPassword/ObjC/Mac/MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper/main.m
@@ -8,7 +8,21 @@
#import
-int main(int argc, char *argv[])
-{
- return NSApplicationMain(argc, (const char **)argv);
+int main(int argc, char *argv[]) {
+
+ NSURL *bundleURL = [[[[[[NSBundle mainBundle] bundleURL]
+ URLByDeletingLastPathComponent] URLByDeletingLastPathComponent]
+ URLByDeletingLastPathComponent] URLByDeletingLastPathComponent];
+
+ NSError *error = nil;
+ NSRunningApplication *application = [[NSWorkspace sharedWorkspace]
+ launchApplicationAtURL:bundleURL options:NSWorkspaceLaunchWithoutActivation
+ configuration:nil error:&error];
+
+ if (!application || error) {
+ NSLog( @"Error launching main app: %@", [error debugDescription] );
+ return (int)error.code?: 1;
+ }
+
+ return 0;
}
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj
index a7847f18..262ad00b 100644
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj
+++ b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj
@@ -1868,6 +1868,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = YES;
CODE_SIGN_ENTITLEMENTS = MasterPassword.entitlements;
+ CODE_SIGN_IDENTITY = "Mac Developer";
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1887,6 +1888,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = YES;
CODE_SIGN_ENTITLEMENTS = MasterPassword.entitlements;
+ CODE_SIGN_IDENTITY = "Mac Developer";
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1984,6 +1986,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = YES;
CODE_SIGN_ENTITLEMENTS = MasterPassword.entitlements;
+ CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application";
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
diff --git a/MasterPassword/ObjC/Mac/MasterPassword.entitlements b/MasterPassword/ObjC/Mac/MasterPassword.entitlements
index 4965233b..3bce57e2 100644
--- a/MasterPassword/ObjC/Mac/MasterPassword.entitlements
+++ b/MasterPassword/ObjC/Mac/MasterPassword.entitlements
@@ -11,5 +11,9 @@
HL3Q45LX9N.com.lyndir.lhunath.MasterPassword.shared
com.apple.security.app-sandbox
+ com.apple.security.application-groups
+
+ HL3Q45LX9N.com.lyndir.lhunath.MasterPassword.Mac
+