Код: Выделить всё
import AnalyticsModuleApi // AnalyticsServiceProtocol sits here
import AnalyticsModule // AnalyticsService sits here
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
@Provider var analyticsService: AnalyticsServiceProtocol = AnalyticsService()
return true
}
}
Код: Выделить всё
import AnalyticsModuleApi // AnalyticsServiceProtocol sits here
final class ModuleAViewModel: ObservableObject {
@Inject private var analyticsService: AnalyticsServiceProtocol
}
Среда внедрения зависимостей предназначена для сбоя, если происходит попытка использовать зависимость до ее предоставления, и именно это и происходит. Предварительные версии внутри основного модуля, похоже, знают, что зависимость уже предоставлена в AppDelegate
Подробнее здесь: https://stackoverflow.com/questions/797 ... e-and-inje
Мобильная версия