Notre application prend en charge iOS 11 et supérieur. Dans iOS 13, nous utilisons SwiftUI
+ Combine
nous encapsulons l'importation du framework SwiftUI
ou Combine
avec la vérification correspondante #if canImport(SwiftUI)
ou #if canImport(Combine)
. Si nous exécutons notre application à partir de Xcode 11 sous iOS 12, nous avons une erreur dyld: Library not loaded: /System/Library/Frameworks/Combine.framework/Combine
Nous avons résolu le même problème pour SwiftUI en le liant éventuellement.
Mais nous ne pouvons pas faire de même pour Combiner car il ne peut même pas être sélectionné pour la liaison
../iPhoneOS.sdk/
), puis ouvrez le projet dans un éditeur de texte et corrigez-le manuellement.Pour autant que nous l'avons compris aujourd'hui, il n'est pas nécessaire d'utiliser une solution de contournement si vous utilisez au moins Xcode 11.3.1 pour la construction. Cela fonctionne hors de la boîte même sans mentionner SwiftUI ou Combine dans toute phase de configuration/construction liée, etc.
Il s'avère être un bogue dans (au moins) Xcode-11.1, qui a eu pour résultat que le framework Combine n'est pas faiblement lié par défaut. Il semble que le bogue a été corrigé au moins dans Xcode-11.3.1 - il lie faiblement Combine par défaut. Certains rapports et réponses connexes de Apple sont ici: https://forums.Swift.org/t/why-Swift-package-manager-does-not-support- cadre-faible-cadre-faible-swiftui/31418/2