Файл Swiftinterface имеет ссылку только на один класс.IOS

Программируем под IOS
Ответить
Anonymous
 Файл Swiftinterface имеет ссылку только на один класс.

Сообщение Anonymous »

Я создаю XCFramework для распространения. Все классы и свойства, которые я хочу предоставить и сделать доступными, помечены как открытые или общедоступные. У меня есть несколько классов и файлов в этой платформе, но когда я открываю и просматриваю файл .swiftinterface, я вижу только ссылку на один класс, и поэтому, когда я импортирую эту структуру в свой проект, свойства, на которые нет ссылок, недоступны.
Сгенерированный интерфейс .swift выглядит так:

Код: Выделить всё

// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.0.2 effective-5.10 (swiftlang-6.0.2.1.2 clang-1600.0.26.4)
// swift-module-flags: -target arm64-apple-ios14.5-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name MyFramework
// swift-module-flags-ignorable: -no-verify-emitted-module-interface
import Foundation
@_exported import MyFramework
import Swift
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
open class MyFrameworkClass : Swift.Decodable {
open var url: Swift.String?
open var parameters: MyFrameworkProperty.Parameters?
public init(url: Swift.String? = nil, parameters: MyFrameworkProperty.Parameters? = nil)
@objc deinit
required public init(from decoder: any Swift.Decoder) throws
}
open class Parameters : Swift.Decodable {
open var PropertyA: Swift.String?
open var PropertyB: Swift.String?
open var PropertyC: Swift.String?
public init(PropertyA: Swift.String? = nil, PropertyB: Swift.String? = nil, PropertyC: Swift.String? = nil)
@objc deinit
required public init(from decoder: any Swift.Decoder) throws
}
public enum PropertyC : Swift.String, Swift.CaseIterable {
case a
case b
case c
public init?(rawValue: Swift.String)
public typealias AllCases = [MyFramework.PropertyC]
public typealias RawValue = Swift.String
nonisolated public static var allCases: [MyFramework.PropertyC] {
get
}
public var rawValue: Swift.String {
get
}
}
extension MyFramework.PropertyC : Swift.Equatable {}
extension MyFramework.PropertyC : Swift.Hashable {}
extension MyFramework.PropertyC : Swift.RawRepresentable {}

я скомпилировал их с помощью следующих команд

Код: Выделить всё

xcodebuild archive -workspace MyFramework.xcworkspace \
-scheme MyFramework \
-configuration Release \
-destination 'generic/platform=iOS Simulator' \
-archivePath './build/MyFramework.framework-iphonesimulator.xcarchive' \
SKIP_INSTALL=NO \
BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

xcodebuild archive -workspace MyFramework.xcworkspace \
-scheme MyFramework \
-configuration Release \
-destination 'generic/platform=iOS' \
-archivePath './build/MyFramework.framework-iphoneos.xcarchive' \
SKIP_INSTALL=NO \
BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

xcodebuild -create-xcframework \
-framework './build/MyFramework.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/MyFramework.framework' \
-framework './build/MyFramework.framework-iphoneos.xcarchive/Products/Library/Frameworks/MyFramework.framework' \
-output './build/MyFramework.xcframework'

Файл MyFramework.h из моего фреймворка перед компиляцией выглядит так:

Код: Выделить всё

#import 

FOUNDATION_EXPORT double MyFrameworkVersionNumber;

FOUNDATION_EXPORT const unsigned char MyFrameworkVersionString[];
Что требуется, чтобы все мои общедоступные/открытые свойства были доступны проекту, который импортирует xcframework?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ngle-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»