Я пытаюсь использовать популярную библиотеку swift, Siren , в приложении iOS Objective-C. Я включил библиотеку в качестве фреймворка, используя cocoapods, я запустил pod init
, а затем pod install
с таким подфайлом, как это:
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'MyObjectiveCApp' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for MyObjectiveCApp
pod 'Siren'
end
и я импортировал код swift в файл AppDelegate.m следующим образом:
#import <Siren/Siren-Swift.h>
Теперь я могу получить доступ к классу Siren
, но я не могу сослаться на статическое свойство shared
класса Siren
. Я пробовал [Siren shared]
и Siren.shared
, но ни один не работает. Вот первые несколько строк класса Siren
:
import UIKit
/// The Siren Class.
public final class Siren: NSObject {
/// Return results or errors obtained from performing a version check with Siren.
public typealias ResultsHandler = (Result<UpdateResults, KnownError>) -> Void
/// The Siren singleton. The main point of entry to the Siren library.
public static let shared = Siren()
Есть ли документация или примеры использования сирены в iOS-приложении Objective-C? Это возможно? Я знаю, что могу использовать гарпию, но так как она больше не поддерживается, я старался избегать ее, если это возможно. Я исследовал использование Swift в коде Objective-C, но не смог найти ничего, связанного с доступом к свойству static let
в классе. Я нашел этот полезный ответ , но в нем упоминаются глобальные переменные, а не статические свойства класса.