You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are two issues when using XCFramework for inter-framework dependencies with Objective-C compatibility which did not cause any problems when creating normal frameworks. It seems that the XCFramework issues can only be resolved when targeting iOS 13.0.
It would be quite convenient to have these issues resolved in order to distribute libraries compiled and bundled as XCFrameworks without sacrificing backwards compatibility for any iOS version older than iOS 13.
Hm. It's specifically the combination of @objc and "Build Libraries for Distribution" (a prerequisite for XCFrameworks) that's causing the trouble here: the Swift implementation of ABI-stable classes is in some ways more flexible and in some ways more limited than Objective-C's, and so older Objective-C runtimes can't support them directly. @slavapestov, any insights to offer?
Dies ist so erwartet. Die Verwendung von `@objc`-Methoden in Erweiterungen von `@objc`-Klassen beim Erstellen eines Framework für die Verteilung erforderte Änderungen an der Objective-C-Laufzeit, die nur in iOS 13 (und neuer) verfügbar sind. Du kannst entweder diese Methoden in die Klassendefinition selbst verschieben oder du verschiebst das `@objc`-Attribut.
Attachment: Download
Additional Detail from JIRA
md5: 314907ccaf24ff67564c388f1f8a3cfc
Issue Description:
There are two issues when using XCFramework for inter-framework dependencies with Objective-C compatibility which did not cause any problems when creating normal frameworks. It seems that the XCFramework issues can only be resolved when targeting iOS 13.0.
It would be quite convenient to have these issues resolved in order to distribute libraries compiled and bundled as XCFrameworks without sacrificing backwards compatibility for any iOS version older than iOS 13.
In order to demonstrate the two issues just build the
DerivedFramework
target with Xcode 11.0. The sample project can be found here: https://github.com/schiewe/XCFrameworkIssue 7Issue 1) https://github.com/schiewe/XCFrameworkIssue/blob/f84ec25145f63f93badbe845a282bb21e18967eb/DerivedFramework/DerivedClass.swift#L8 2 causes a
Method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C
error.Issue 2) https://github.com/schiewe/XCFrameworkIssue/blob/f84ec25145f63f93badbe845a282bb21e18967eb/DerivedFramework/DerivedClass.swift#L15 5 causes a
'@objc' instance method in extension of subclass of 'BaseClass' requires iOS 13.0.0
error.It seems like these issues are compiler bugs which will hopefully be fixed but it might also be a "feature".
What do you think?
The text was updated successfully, but these errors were encountered: