djyde / WebShell

Bundle web apps to native OS X app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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?

commented

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?...

commented

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.

screen shot 2016-04-21 at 20 21 15

And after this tests, i'm afraid it's better to not support Mavericks.

commented

WTF...

Just skip it.