-
Notifications
You must be signed in to change notification settings - Fork 253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
updated for Apple Silicon #220
base: master
Are you sure you want to change the base?
Conversation
sweetppro
commented
Jan 8, 2023
- Updated for macOS Ventura and Xcode 14.2
- Apple Silicon compatible
- updated project to macOS 11+
- fixed most warnings and deprecations
- replaced ShortcutRecorder Framework with MASShortcut package
- general refactoring
- updated Preferences window layout
- replaced most static images with SF Symbols
- moved remaining images to Assets catalogue
- updated icon to user submitted icon New Icon for Big Sur + #203
- refreshed status menu icon
- refreshed .hst icon
- added support for restarting mDNSResponder via NSUserAppleScriptTask
- updated .gitignore to ignore .DS_Store files
- updated README to indicate support for macOS Big Sur and above
As mentioned in Issues 2ndalpha#160 and 2ndalpha#140, the list of hosts is not alphabetized in newer versions of macOS. This change is a feeble attempt by me to sort the `hostsFiles` array as it's populated. It seems to have built successfully on my machine but I'm extremely new to the world of Obj-C development so it would not surprise me in the least if this does something in a bad or easily improved way. That is, I added a way to Sort (`NSSortDescriptor`) and call it immediately after every time we `addObject` to `hostsFiles` during `loadFiles` in LocalHostsController.m. Doing this after every addition seems like it might be a poor choice from a performance perspective. Moreover, it may be wholly unnecessary when used in some environments where this issue doesn't present. I went with it anyway because I didn't know how else to approach this, nor how to conditionally use this logic only when I know it to be necessary.
* Updated for macOS Ventura and Xcode 14.2 * Apple Silicon compatible * updated project to macOS 11+ * fixed most warnings and deprecations * replaced ShortcutRecorder Framework with MASShortcut package * general refactoring * updated Preferences window layout * replaced most static images with SF Symbols * moved remaining images to Assets catalogue * updated icon to user submitted icon 2ndalpha#203 * refreshed status menu icon * refreshed .hst icon * added support for restarting mDNSResponder via NSUserAppleScriptTask * updated .gitignore to ignore .DS_Store files * updated README to indicate support for macOS Big Sur and above
Here's all the assets I used/created: |
add framework searchpath to build settings to fix Sparkle build
Wow, it is a big PR. |
I tested it today – but my conclusion is, that its not "production ready" yet. I tried it first with the configured Target platform settings (
Functionality + GUI issues
—> below are some screenshots Xcode issuesBuild ErrorsNone Build WarningsApplicationController.m
HostsListView.m
HostsMainController.m
LoginItem.m
PrivilegedActions.m
Util.m
ScreenshotsApp GUIXcode |
Move host file storage to "~/Library/Application Support/Gas Mask"
Sort Local hosts when loading
Thank you @oliveratgithub for testing. I will try to review it all. |
merge this! |
Hi @2ndalpha |
@tlogik I can review and test PR-s. The changes would need to be as small as possible. |