Support for OS X Mavericks (10.9.5)
vista980622 opened this issue · comments
OS X Mavericks still has ~15% market share, and Swift code is compatible with Mavericks because Xcode automatically embeds a runtime binary upon compilation.
However, symbol viewDidLoad is not available in Mavericks. Any chance to weak link that/add some sort of version check to make WebShell compatible with Mavericks?
Current build target is 10.10. I'd already had a plan for creating a branch which support lower system target. It require Objective-C skill but I'm not good at it. I will take a help wanted in issue. I'm not sure if anyone has interest in doing it.
It's great to hear back.
"In fact, you can target back to OS X Mavericks or iOS 7 with that same app. This is possible because Xcode embeds a small Swift runtime library within your app’s bundle. Because the library is embedded, your app uses a consistent version of Swift that runs on past, present, and future OS releases." (https://developer.apple.com/swift/blog/?id=2)
Maybe we don't need Objective-C skills after all?...
This is a useful post. I will have a try.
Thanks, djyde!
@vista980622 Can you please check if you can build it on Mavericks,
note: the target is still 10.10 because it is un tested
i don't have a Mavericks machine.
Thanks!
I'll give it a try when I have time!
Fails to compile after target change.
If a version check is added, it compiles and runs on Mavericks without crashing, but the main window fails to draw itself.
Wich version of Xcode are you using, i'll try with a emulator to fix it.
@djyde @vista980622 I think we should skip this.
Problem list:
NSHTTPURLResponse
WebShellDownloadManager.swift
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Symbol not found: _OBJC_CLASS_$_NSHTTPURLResponse
Referenced from: /Volumes/*/WebShell.app/Contents/MacOS/./WebShell
Expected in: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
in /Volumes/*/WebShell.app/Contents/MacOS/./WebShell
NSMutableURLRequest
WebShellDownloadManager.swift
Wesleys-Mac:MacOS Wes$ ./WebShell
dyld: Symbol not found: _OBJC_CLASS_$_NSMutableURLRequest
Referenced from: /Volumes/VMware Shared Folders/Downloads/WebShell 2016-04-21 21-26-57 UNS/WebShell.app/Contents/MacOS/./WebShell
Expected in: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
in /Volumes/VMware Shared Folders/Downloads/WebShell 2016-04-21 21-26-57 UNS/WebShell.app/Contents/MacOS/./WebShell
Trace/BPT trap: 5
NSURLRequest
WebShellPageActions.swift
WebViewFunctions.swift
Wesleys-Mac:MacOS Wes$ ./WebShell
dyld: Symbol not found: _OBJC_CLASS_$_NSURLRequest
Referenced from: /Volumes/VMware Shared Folders/Downloads/WebShell 2016-04-21 21-29-18/WebShell.app/Contents/MacOS/./WebShell
Expected in: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
in /Volumes/VMware Shared Folders/Downloads/WebShell 2016-04-21 21-29-18/WebShell.app/Contents/MacOS/./WebShell
Trace/BPT trap: 5
181 Errors if i want to build it from Mavericks.
Reduceable, but not with losing a lot of functionality.
And after this tests, i'm afraid it's better to not support Mavericks.
WTF...
Just skip it.