У меня есть рабочее пространство iOS из двух проектов:
Core
- это проект с фреймворком. Кроме того, он имеет зависимость RxSwift
через менеджер пакетов swift.
App
- это приложение, которое имеет Core.framework
как зависимость для встраивания и RxSwift
как зависимость менеджера пакетов swift.
Iполучить эти предупреждения при запуске приложения:
objc[8296]: Class _TtC7RxSwiftP33_AB3B9E8806A71B46FB498A7594F5E0D919AnonymousDisposable is implemented in both /Users/andrey/Library/Developer/Xcode/DerivedData/App-dypyskhwoifkwagjjvtjblqppdnd/Build/Products/Debug-iphonesimulator/Core.framework/Core (0x10e092400) and /Users/andrey/Library/Developer/CoreSimulator/Devices/53D234F9-F917-46BA-B376-F28BA905EE9D/data/Containers/Bundle/Application/D4C69694-8515-44CF-B077-0CB3256D1F84/App.app/App (0x10bf95430). One of the two will be used. Which one is undefined.
Но если я попытаюсь получить доступ к MainScheduler.instance
, который является статической переменной, я получу EXC_BAD_ACCESS
сбой со стеком:
#0 0x000000010e7d5c07 in swift_checkMetadataState ()
#1 0x000000010e7d9a17 in checkTransitiveCompleteness(swift::TargetMetadata<swift::InProcess> const*)::$_18::operator()(swift::TargetMetadata<swift::InProcess> const*) const ()
#2 0x000000010e7d97ac in bool findAnyTransitiveMetadata<checkTransitiveCompleteness(swift::TargetMetadata<swift::InProcess> const*)::$_18&>(swift::TargetMetadata<swift::InProcess> const*, checkTransitiveCompleteness(swift::TargetMetadata<swift::InProcess> const*)::$_18&) ()
#3 0x000000010e7d96a6 in checkTransitiveCompleteness(swift::TargetMetadata<swift::InProcess> const*) ()
#4 0x000000010e7da278 in swift::MetadataCacheEntryBase<(anonymous namespace)::SingletonMetadataCacheEntry, int>::doInitialization(swift::ConcurrencyControl&, swift::MetadataCompletionQueueEntry*, swift::MetadataRequest) ()
#5 0x000000010e7d0078 in swift_getSingletonMetadata ()
#6 0x000000010b3bb9b8 in type metadata accessor for MainScheduler ()
#7 0x000000010af4b1c5 in static RxSchedulers.mainScheduler.getter
ЧтоКак можно исправить эту ошибку?