web-dev-qa-db-fra.com

dyld: la bibliothèque n'est pas chargée SwiftUI lorsque l'application s'exécute sur iOS 12 à l'aide de @available (iOS 13.0, *)

J'ai décidé d'implémenter quelques vues en utilisant SwiftUI dans mon application. L'application est rétrocompatible avec iOS 12.

Tout fonctionne parfaitement jusqu'à ce que je l'exécute sur un appareil iOS 12. L'application se bloque immédiatement et l'avertissement que je reçois indique que SwiftUI ne peut pas être chargé.

dyld: Library not loaded: /System/Library/Frameworks/SwiftUI.framework/SwiftUI
  Referenced from: /var/containers/Bundle/Application/MyApp.app/MyApp
  Reason: image not found

J'utilise @available (iOS 13.0, *) dans tous les bons endroits et il n'y a aucun avertissement du compilateur et l'application fonctionne parfaitement sur iOS 13

Comment puis-je faire en sorte que cela fonctionne pour iOS 12?

12
YichenBman

Vous pouvez également marquer SwiftUI.framwerk comme facultatif dans les phases de construction. Instruction détaillée ci-dessous.

  1. Sélectionnez votre fichier de projet dans le navigateur Xcode.
  2. Sélectionnez la cible de votre application (ou la cible à partir de laquelle vous utilisez SwiftUI).
  3. Sélectionnez l'onglet "Build Phases", puis "Link Binary With Libraries".
  4. Cliquez sur le bouton + sous la liste qui apparaît.
  5. Tapez "SwiftUI" dans le champ de recherche de la feuille popup, sélectionnez "SwiftUI.framework" et cliquez sur "Ajouter".
  6. Sur la nouvelle ligne du tableau, cliquez sur le bouton contextuel "Obligatoire" dans la dernière colonne. Remplacez la valeur par "Facultatif".
0
Kacper Dziubek