diff --git a/AppDelegate.m b/AppDelegate.m
index a774cbf..d3c8d99 100755
--- a/AppDelegate.m
+++ b/AppDelegate.m
@@ -189,6 +189,15 @@
//front
[NSApp activateIgnoringOtherApps:YES];
+ //make first responder
+ // calling this without a timeout sometimes fails :/
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (100 * NSEC_PER_MSEC)), dispatch_get_main_queue(), ^{
+
+ //and make it first responder
+ [self.friends makeFirstResponder:[self.friends.contentView viewWithTag:1]];
+
+ });
+
//close after 3 seconds
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
diff --git a/Assets.xcassets/FriendsDigita.imageset/Contents.json b/Assets.xcassets/FriendsDigita.imageset/Contents.json
index d54931d..021f785 100644
--- a/Assets.xcassets/FriendsDigita.imageset/Contents.json
+++ b/Assets.xcassets/FriendsDigita.imageset/Contents.json
@@ -3,26 +3,6 @@
{
"idiom" : "mac",
"filename" : "digita.pdf"
- },
- {
- "idiom" : "mac",
- "filename" : "digitaLight.pdf",
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "light"
- }
- ]
- },
- {
- "idiom" : "mac",
- "filename" : "digitaDark.pdf",
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "dark"
- }
- ]
}
],
"info" : {
diff --git a/Assets.xcassets/FriendsDigita.imageset/digitaDark.pdf b/Assets.xcassets/FriendsDigita.imageset/digitaDark.pdf
deleted file mode 100644
index fcae0fc..0000000
Binary files a/Assets.xcassets/FriendsDigita.imageset/digitaDark.pdf and /dev/null differ
diff --git a/Assets.xcassets/FriendsDigita.imageset/digitaLight.pdf b/Assets.xcassets/FriendsDigita.imageset/digitaLight.pdf
deleted file mode 100644
index fcae0fc..0000000
Binary files a/Assets.xcassets/FriendsDigita.imageset/digitaLight.pdf and /dev/null differ
diff --git a/Assets.xcassets/FriendsMacPaw.imageset/Contents.json b/Assets.xcassets/FriendsMacPaw.imageset/Contents.json
new file mode 100644
index 0000000..d11c3c0
--- /dev/null
+++ b/Assets.xcassets/FriendsMacPaw.imageset/Contents.json
@@ -0,0 +1,15 @@
+{
+ "images" : [
+ {
+ "idiom" : "mac",
+ "filename" : "macpaw.pdf"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ },
+ "properties" : {
+ "preserves-vector-representation" : true
+ }
+}
\ No newline at end of file
diff --git a/Assets.xcassets/FriendsMacPaw.imageset/macpaw.pdf b/Assets.xcassets/FriendsMacPaw.imageset/macpaw.pdf
new file mode 100644
index 0000000..3150eac
Binary files /dev/null and b/Assets.xcassets/FriendsMacPaw.imageset/macpaw.pdf differ
diff --git a/Assets.xcassets/FriendsMalwarebytes.imageset/Contents.json b/Assets.xcassets/FriendsMalwarebytes.imageset/Contents.json
index f3c6d2f..d4c50c1 100644
--- a/Assets.xcassets/FriendsMalwarebytes.imageset/Contents.json
+++ b/Assets.xcassets/FriendsMalwarebytes.imageset/Contents.json
@@ -3,26 +3,6 @@
{
"idiom" : "mac",
"filename" : "malwarebytes.pdf"
- },
- {
- "idiom" : "mac",
- "filename" : "malwarebytesLight.pdf",
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "light"
- }
- ]
- },
- {
- "idiom" : "mac",
- "filename" : "malwarebytesDark.pdf",
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "dark"
- }
- ]
}
],
"info" : {
diff --git a/Assets.xcassets/FriendsMalwarebytes.imageset/malwarebytesDark.pdf b/Assets.xcassets/FriendsMalwarebytes.imageset/malwarebytesDark.pdf
deleted file mode 100644
index 943c2de..0000000
Binary files a/Assets.xcassets/FriendsMalwarebytes.imageset/malwarebytesDark.pdf and /dev/null differ
diff --git a/Assets.xcassets/FriendsMalwarebytes.imageset/malwarebytesLight.pdf b/Assets.xcassets/FriendsMalwarebytes.imageset/malwarebytesLight.pdf
deleted file mode 100644
index 943c2de..0000000
Binary files a/Assets.xcassets/FriendsMalwarebytes.imageset/malwarebytesLight.pdf and /dev/null differ
diff --git a/Assets.xcassets/FriendsSophos.imageset/Contents.json b/Assets.xcassets/FriendsSophos.imageset/Contents.json
index 3221459..97f2a6e 100644
--- a/Assets.xcassets/FriendsSophos.imageset/Contents.json
+++ b/Assets.xcassets/FriendsSophos.imageset/Contents.json
@@ -3,26 +3,6 @@
{
"idiom" : "mac",
"filename" : "sophos.png"
- },
- {
- "idiom" : "mac",
- "filename" : "sophosLight.png",
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "light"
- }
- ]
- },
- {
- "idiom" : "mac",
- "filename" : "sophosDark.png",
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "dark"
- }
- ]
}
],
"info" : {
diff --git a/Assets.xcassets/FriendsSophos.imageset/sophosDark.png b/Assets.xcassets/FriendsSophos.imageset/sophosDark.png
deleted file mode 100644
index a5da643..0000000
Binary files a/Assets.xcassets/FriendsSophos.imageset/sophosDark.png and /dev/null differ
diff --git a/Assets.xcassets/FriendsSophos.imageset/sophosLight.png b/Assets.xcassets/FriendsSophos.imageset/sophosLight.png
deleted file mode 100644
index a5da643..0000000
Binary files a/Assets.xcassets/FriendsSophos.imageset/sophosLight.png and /dev/null differ
diff --git a/TaskExplorer-Info.plist b/TaskExplorer-Info.plist
index c09b124..ca25e70 100755
--- a/TaskExplorer-Info.plist
+++ b/TaskExplorer-Info.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.0.1
+ 2.0.2
CFBundleSignature
????
CFBundleVersion
- 2.0.1
+ 2.0.2
LSMinimumSystemVersion
${MACOSX_DEPLOYMENT_TARGET}
NSHumanReadableCopyright
diff --git a/UI/AboutWindow.xib b/UI/AboutWindow.xib
index f363e9d..b0a9b43 100644
--- a/UI/AboutWindow.xib
+++ b/UI/AboutWindow.xib
@@ -19,7 +19,7 @@
-
+
diff --git a/Utilities.m b/Utilities.m
index 6bea93a..936d958 100644
--- a/Utilities.m
+++ b/Utilities.m
@@ -1336,9 +1336,10 @@ BOOL isDarkMode()
//flag
BOOL darkMode = NO;
- //not mojave?
+ //prior to mojave?
// bail, since not true dark mode
- if(YES != [[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){10, 14, 0}])
+ if( (YES != [NSProcessInfo instancesRespondToSelector:@selector(isOperatingSystemAtLeastVersion:)]) ||
+ (YES != [[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){10, 14, 0}]) )
{
//bail
goto bail;
diff --git a/en.lproj/MainMenu.xib b/en.lproj/MainMenu.xib
index 5067a23..8c3b413 100755
--- a/en.lproj/MainMenu.xib
+++ b/en.lproj/MainMenu.xib
@@ -47,7 +47,7 @@
-
+
@@ -328,10 +328,14 @@
-
+
+
+
+
+
@@ -343,7 +347,7 @@
-
+
@@ -352,17 +356,17 @@
-
+
-
+
-
+
@@ -371,11 +375,11 @@
-
+
-
@@ -402,6 +420,7 @@
+
diff --git a/patrons.txt b/patrons.txt
index e28a351..3a8f339 100644
--- a/patrons.txt
+++ b/patrons.txt
@@ -1,5 +1,5 @@
Patrons (2^6+):
-Halo Privacy, Ash Morgan, Nando Mendonca, Geoffrey Weber, Randy Wong, Aaron Kiemele, Beau Galbraith, Stuart Ashenbrenner, whiskerz, Gamer_Bot
+Halo Privacy, Ash Morgan, Stuart Ashenbrenner, Aaron Kiemele, Nando Mendonca, Khalil Sehnaoui, Geoffrey Weber, Randy Wong, Gamer_Bot
Friends of Objective-See:
-Digita Security, Sophos, Malwarebytes, SmugMug, Guardian Mobile Firewall, SecureMac
+Digita Security, Sophos, CleanMyMac X, Malwarebytes, SmugMug, Guardian Mobile Firewall, SecureMac
diff --git a/remoteTaskService/Info.plist b/remoteTaskService/Info.plist
index 4b1a9a7..22baf96 100644
--- a/remoteTaskService/Info.plist
+++ b/remoteTaskService/Info.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
XPC!
CFBundleShortVersionString
- 2.0.1
+ 2.0.2
CFBundleSignature
????
CFBundleVersion
- 2.0.1
+ 2.0.2
NSHumanReadableCopyright
Copyright © 2019 Objective-See, LLC. All rights reserved.
XPCService
diff --git a/remoteTaskService/remoteTaskService.m b/remoteTaskService/remoteTaskService.m
index 043c752..c15dc4f 100644
--- a/remoteTaskService/remoteTaskService.m
+++ b/remoteTaskService/remoteTaskService.m
@@ -323,7 +323,7 @@ bail:
dylibs = [NSMutableArray array];
//get task for pid
- // ->allows access to read remote process memory
+ // allows access to read remote process memory
status = task_for_pid(mach_task_self(), [pid intValue], &remoteTask);
if(KERN_SUCCESS != status)
{
@@ -338,7 +338,7 @@ bail:
taskInfoSize = TASK_DYLD_INFO_COUNT;
//get TASK_DYLD_INFO
- // ->populates task_dyld_info structure
+ // populates task_dyld_info structure
status = task_info(remoteTask, TASK_DYLD_INFO, (task_info_t)&dyldInfo, &taskInfoSize);
if(KERN_SUCCESS != status)
{
@@ -347,7 +347,8 @@ bail:
}
//remotely read dyld_all_image_infos
- status = mach_vm_read(remoteTask, (vm_address_t)dyldInfo.all_image_info_addr, dyldInfo.all_image_info_size, (vm_offset_t*)&allImageInfo, &aifBytesRead);
+ status = mach_vm_read(remoteTask, (vm_address_t)dyldInfo.all_image_info_addr,
+ dyldInfo.all_image_info_size, (vm_offset_t*)&allImageInfo, &aifBytesRead);
if(KERN_SUCCESS != status)
{
//err msg