Methods of SFSafariTab etc. needs @available(OSX 10.14.4, *)

Originator:mshibanami
Number:rdar://FB7716650 Date Originated:May 28, 2020 at 9:30 AM
Status:Open Resolved:
Product:SafariServices Product Version:10.15
Classification:Bug Reproducible:
 
Please provide a descriptive title for your feedback:
Methods of SFSafariTab and  needs @available(OSX 10.14.4, *)

Which area are you seeing an issue with?
SafariServices

What type of issue are you reporting?
Application Crash

Description
Please describe the issue and what steps we can take to reproduce it:

----------------------------------------------------------------------------------------------------

Currently (macOS 10.15 SDK, Xcode 11.5), for example, navigate(to:) in SFSafariTab is defined like this:

>    /// Navigates this tab to the given URL. The extension doesn't need permission to access the URL to navigate to it.
>    open func navigate(to url: URL)

However, according to the following documentation, it's actually available from macOS 10.14.4:
https://developer.apple.com/documentation/safariservices/sfsafaritab/3075412-navigate

So, I think this should be defined like this:

@available(OSX 10.14.4, *)
open func navigate(to url: URL)


Because of this issue, I didn't get any compile error and I released my Safari extension including it even for macOS 14.0 users and one of them reported it didn't work. He sent me a log with Console.app and the extension surely crashed because of this issue: 

> default	18:01:20.481009 +0300	TranslateWebForSafari Extension	-[SFSafariTab navigateToURL:]: unrecognized selector sent to instance 0x6000036f2620

Not only this, SFSafariPage's getContainingTab(completionHandler:) also has the same issue. I also found it from his log:

> default	18:01:21.091526 +0300	TranslateWebForSafari Extension	-[SFSafariPage getContainingTabWithCompletionHandler:]: unrecognized selector sent to 

I didn't check in detail but maybe there are other methods like these.

FYI, this is his bug report: 
https://github.com/mshibanami/TranslateWebForSafari/issues/1

Comments

And I commented:

Sorry, I should have titled "Methods of SFSafariTab etc. needs @available(OSX 10.14.4, *)"

By mshibanami at May 27, 2020, 11:40 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!