Xcode, Abort trap : 6

Bonjour tout le monde,

Je viens de changer de mac et j'ai transférer tout le projet (copier/coller) sur le nouveau mac.
Il manquait plein de librairie, je les ai donc re-télécharger sur leur github respectifs, re-intégré à mon projet en pensant que ça suffirait mais non.

Du coup, j'essaie de comprendre ce que je dois corriger pour que ça compile mais je ne comprends pas vraiment..

Par où je peux commencer à chercher pour comprendre cette erreur ?

Merci de votre aide :)

Réponses

  • Par essayer de nous indiquer s'il y a un message d'erreur dans la console ?
    Par essayer de localiser la ligne qui pose problème et nous la donner ?

  • Les fameuses librairie ont toutes la même version qu'alors ?

  • @Larme a dit :
    Par essayer de nous indiquer s'il y a un message d'erreur dans la console ?
    Par essayer de localiser la ligne qui pose problème et nous la donner ?

    bah justement, les logs ont l'air assez conséquent.. je met juste la fin du message d'erreur (trop long sinon)

    Projet/Projet/Projet/EPContact.swift /Users/user/Documents/My\ Projet/Projet/Projet/AppDelegate.swift /Users/user/Documents/My\ Projet/Projet/AjouterUnIncidentViewController.swift /Users/user/Documents/My\ Projet/Projet/RedirectionAccueilViewController.swift /Users/user/Documents/My\ Projet/Projet/DetailsMessageViewController.swift -emit-module-path /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/NouvelleNotificationViewController~partial.swiftmodule -emit-module-doc-path /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/NouvelleNotificationViewController~partial.swiftdoc -serialize-diagnostics-path /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/NouvelleNotificationViewController.dia -emit-dependencies-path /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/NouvelleNotificationViewController.d -emit-reference-dependencies-path /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/NouvelleNotificationViewController.swiftdeps -target arm64-apple-ios10.2 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk -I /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos -F /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos -F /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos/APScheduledLocationManager -F /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos/arek -F /Users/user/Documents/My\ Projet/Projet -enable-testing -g -module-cache-path /Users/user/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 3 -enforce-exclusivity=checked -Onone -D DEBUG -D COCOAPODS -serialize-debugging-options -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-generated-files.hmap -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-own-target-headers.hmap -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-project-headers.hmap -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos/include -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/DerivedSources/arm64 -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -DCOCOAPODS=1 -Xcc -working-directory/Users/user/Documents/My\ Projet/Projet -module-name Projet -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/NouvelleNotificationViewController.o -embed-bitcode-marker -index-store-path /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Index/DataStore -index-system-modules
    
    /Users/user/Documents/My Projet/Projet/DiscussionsCollectionViewController.swift:1086:10: warning: instance method 'imagePickerController(_:didFinishPickingMediaWithInfo:)' nearly matches optional requirement 'imagePickerController(_:didFinishPickingMediaWithInfo:)' of protocol 'UIImagePickerControllerDelegate'
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
         ^
    /Users/user/Documents/My Projet/Projet/DiscussionsCollectionViewController.swift:1086:10: note: candidate has non-matching type '(UIImagePickerController, [String : AnyObject]) -> ()'
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
         ^
    /Users/user/Documents/My Projet/Projet/DiscussionsCollectionViewController.swift:1086:10: note: move 'imagePickerController(_:didFinishPickingMediaWithInfo:)' to an extension to silence this warning
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
         ^
    /Users/user/Documents/My Projet/Projet/DiscussionsCollectionViewController.swift:1086:10: note: make 'imagePickerController(_:didFinishPickingMediaWithInfo:)' private to silence this warning
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
         ^
    private 
    /Users/user/Documents/My Projet/Projet/DiscussionsCollectionViewController.swift:1086:10: note: add '@nonobjc' to silence this warning
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
         ^
        @nonobjc 
    UIKit.UIImagePickerControllerDelegate:8:26: note: requirement 'imagePickerController(_:didFinishPickingMediaWithInfo:)' declared here
    optional public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])
                         ^
    /Users/user/Documents/My Projet/Projet/Projet/fonctions.swift:432:14: warning: 'init(colorLiteralRed:green:blue:alpha:)' is deprecated: This initializer is only meant to be used by color literals
        self.init(colorLiteralRed: red, green: green, blue: blue, alpha: 1)
             ^
    <unknown>:0: error: fatal error encountered while reading from module 'ImageRow'; please file a bug report with your project and the crash log
    <unknown>:0: note: compiling as Swift 3.4, with 'ImageRow' built as Swift 4.2 (this is supported but may expose additional compiler issues)
    
    *** DESERIALIZATION FAILURE (please include this section in any bug report) ***
    could not deserialize type for '_': could not deserialize type for 'userPickerInfo': declaration is not a nominal type
    Cross-reference to module 'UIKit'
    ... InfoKey
    
    0  swift                    0x000000010427b64a PrintStackTraceSignalHandler(void*) + 42
    1  swift                    0x000000010427adfe SignalHandler(int) + 302
    2  libsystem_platform.dylib 0x00007fff50a55f5a _sigtramp + 26
    3  libsystem_platform.dylib 0x00007ffeef77a5b0 _sigtramp + 2664580720
    4  libsystem_c.dylib        0x00007fff507f31ae abort + 127
    5  swift                    0x00000001016e10fb swift::ModuleFile::fatal(llvm::Error) + 1915
    6  swift                    0x0000000101718753 getSILDeclRef(swift::ModuleFile*, llvm::ArrayRef<unsigned long long>, unsigned int&) + 307
    7  swift                    0x000000010171aa94 swift::SILDeserializer::readVTable(llvm::PointerEmbeddedInt<unsigned int, 31>) + 740
    8  swift                    0x000000010141b1dc swift::SILModule::lookUpVTable(swift::ClassDecl const*) + 252
    9  swift                    0x000000010102eec7 swift::canDevirtualizeClassMethod(swift::FullApplySite, swift::SILType, swift::OptRemark::Emitter*, bool) + 151
    10 swift                    0x0000000101031839 swift::tryDevirtualizeApply(swift::ApplySite, swift::ClassHierarchyAnalysis*, swift::OptRemark::Emitter*) + 537
    11 swift                    0x0000000101166943 runOnFunctionRecursively(swift::SILFunction*, swift::FullApplySite, llvm::DenseSet<swift::SILFunction*, llvm::DenseMapInfo<swift::SILFunction*> >&, llvm::ImmutableSet<swift::SILFunction*, llvm::ImutContainerInfo<swift::SILFunction*> >::Factory&, llvm::ImmutableSet<swift::SILFunction*, llvm::ImutContainerInfo<swift::SILFunction*> >, swift::ClassHierarchyAnalysis*) + 7459
    12 swift                    0x0000000101164803 (anonymous namespace)::MandatoryInlining::run() + 339
    13 swift                    0x00000001010ec6fd swift::SILPassManager::execute() + 5565
    14 swift                    0x00000001010f002b swift::runSILDiagnosticPasses(swift::SILModule&) + 2331
    15 swift                    0x000000010050bcc3 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 35331
    16 swift                    0x00000001004ffdc5 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 7717
    17 swift                    0x00000001004a5a35 main + 1349
    18 libdyld.dylib            0x00007fff50747015 start + 1
    Stack dump:
    0.  Program arguments:     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c     /Users/user/Documents/My Projet/Projet/Projet/SwiftOverlays.swift /Users/user/Documents/My Projet/Projet/Projet/Alamofire+Synchronous.swift /Users/user/Documents/My Projet/Projet/HistoriqueDesNotificationsViewController.swift /Users/user/Documents/My Projet/Projet/Projet/Geotification.swift /Users/user/Documents/My Projet/Projet/Projet/EPConstants.swift /Users/user/Documents/My Projet/Projet/DetailsZoneViewController.swift /Users/user/Documents/My Projet/Projet/IncidentDemanderPositionSelectionUtilisateursViewController.swift /Users/user/Documents/My Projet/Projet/NotificationsRecuesViewController.swift /Users/user/Documents/My Projet/Projet/ConfigurationAlerteViewController.swift /Users/user/Documents/My Projet/Projet/Projet/ListerUtilisateursViewController.swift -primary-file /Users/user/Documents/My Projet/Projet/NouvelleNotificationViewController.swift /Users/user/Documents/My Projet/Projet/Projet/InfosGroupeViewController.swift /Users/user/Documents/My Projet/Projet/Projet/AccueilViewController.swift /Users/user/Documents/My Projet/Projet/Projet/EPContactsPicker.swift /Users/user/Documents/My Projet/Projet/IncidentDemanderPositionSelectionGroupeUtilisateursViewController.swift -primary-file /Users/user/Documents/My Projet/Projet/DetailNotificationViewController.swift /Users/user/Documents/My Projet/Projet/Projet/ZFRippleButton.swift /Users/user/Documents/My Projet/Projet/ChatLogMessageSortantImageCollectionViewCell.swift /Users/user/Documents/My Projet/Projet/Projet/IncidentsViewController.swift /Users/user/Documents/My Projet/Projet/ListerIncidentsViewController.swift /Users/user/Documents/My Projet/Projet/GroupeDeDiscussionTableViewController.swift /Users/user/Documents/My Projet/Projet/Projet/Utilities.swift -primary-file /Users/user/Documents/My Projet/Projet/DiscussionsCollectionViewController.swift /Users/user/Documents/My Projet/Projet/Variables.swift /Users/user/Documents/My Projet/Projet/NouveauGroupeDeDiscussionViewController.swift /Users/user/Documents/My Projet/Projet/AjouterParticipantsViewController.swift /Users/user/Documents/My Projet/Projet/MonCompteViewController.swift /Users/user/Documents/My Projet/Projet/Projet/EPExtensions.swift /Users/user/Documents/My Projet/Projet/Projet/ViewController.swift /Users/user/Documents/My Projet/Projet/safetyCheckViewController.swift /Users/user/Documents/My Projet/Projet/StatistiqueSafetyCheckViewController.swift /Users/user/Documents/My Projet/Projet/Projet/ConfigurationDeBaseViewController.swift /Users/user/Documents/My Projet/Projet/Projet/EPContactCell.swift /Users/user/Documents/My Projet/Projet/CelluleGroupeDeDiscussionTableViewCell.swift /Users/user/Documents/My Projet/Projet/OuvrirImageDiscussionViewController.swift -primary-file /Users/user/Documents/My Projet/Projet/ChatLogMessageCollectionViewCell.swift -primary-file /Users/user/Documents/My Projet/Projet/Projet/fonctions.swift -primary-file /Users/user/Documents/My Projet/Projet/Projet/Accueil_iPhone5_ViewController.swift /Users/user/Documents/My Projet/Projet/Projet/EPContact.swift -primary-file /Users/user/Documents/My Projet/Projet/Projet/AppDelegate.swift -primary-file /Users/user/Documents/My Projet/Projet/AjouterUnIncidentViewController.swift -primary-file /Users/user/Documents/My Projet/Projet/RedirectionAccueilViewController.swift -primary-file /Users/user/Documents/My Projet/Projet/DetailsMessageViewController.swift -supplementary-output-file-map /var/folders/y3/chh4sl850fs0z1ndz4t0nk6w0000gn/T/supplementaryOutputs-80f3a9 -target arm64-apple-ios10.2 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk -I /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos -F /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos -F /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos/APScheduledLocationManager -F /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos/arek -F /Users/user/Documents/My Projet/Projet -enable-testing -g -module-cache-path /Users/user/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 3 -enforce-exclusivity=checked -Onone -D DEBUG -D COCOAPODS -serialize-debugging-options -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-generated-files.hmap -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-own-target-headers.hmap -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Projet-project-headers.hmap -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Products/Debug-iphoneos/include -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/DerivedSources/arm64 -Xcc -I/Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -DCOCOAPODS=1 -Xcc -working-directory/Users/user/Documents/My Projet/Projet -module-name Projet -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/NouvelleNotificationViewController.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/DetailNotificationViewController.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/DiscussionsCollectionViewController.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/ChatLogMessageCollectionViewCell.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/fonctions.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/Accueil_iPhone5_ViewController.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/AppDelegate.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/AjouterUnIncidentViewController.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/RedirectionAccueilViewController.o -o /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Build/Intermediates.noindex/Projet.build/Debug-iphoneos/Projet.build/Objects-normal/arm64/DetailsMessageViewController.o -embed-bitcode-marker -index-store-path /Users/user/Library/Developer/Xcode/DerivedData/Projet-gaodwppbhgkbpibfzqkcwdnggsnz/Index/DataStore -index-system-modules 
    1.  While running pass #931 SILModuleTransform "MandatoryInlining".
    2.  While deserializing SIL vtable for 'ImageRow' in module 'ImageRow'
    error: Abort trap: 6
    

    et j'ai du mal à y comprendre quelque chose :/

  • Dans l'doute, il faudrait déjà regarder DiscussionsCollectionViewController.swift et sa méthode imagePickerController(_:didFinishPickingMediaWithInfo:) qui pose déjà un warning.

    Et j'aurais tendance à dire que ton app est mixée entre du Swift 3 & du 4.2.

    En relisant ce qu'il y au-dessus, par exemple, UIImagePickerController.InfoKey est en Swift 4.2, et j'pense qu'avant c'était UIImagePickerControllerInfoKey, donc j'pense qu'il ne retrouve pas ses petits.

  • Du coup, j'essaie de tout passer en 4.2 ?
    J'ai un warning qui m'indique que je peux convertir en Swift 4.2, je le tente ?
    ça va pas tout me foutre en l'air ça ?.. il me semble que j'avais déjà testé ça il y a quelque temps et ça avait été une catastrophe :s

    Au pire, je vais faire une copie du dossier du projet, comme ça je pourrai toujours revenir en arrière..

  • @Insou a dit :
    Au pire, je vais faire une copie du dossier du projet, comme ça je pourrai toujours revenir en arrière..

    Oui et tu penseras à utiliser un créer un repo git sur ce projet...

  • @Insou a dit :
    Du coup, j'essaie de tout passer en 4.2 ?

    Ou bien tu attends Swift 5.0... B)

  • Bon et bien la conversion en 4.2 a échouée :/

    Je vais voir si mes librairies ont bien les mêmes versions que sur l'ancien mac comme le conseillait Pyroh ^^

  • J'ai donc repris les librairies de l'ancien mac et là ça fonctionne.. ça compile, impeccable.

    C'était donc bien ça.. merci à vous pour les pistes ^^

    Pour les prochains projets, est ce que c'est pas mieux de passer par les pods pour les librairies (avec la version à utiliser dans le pod, etc etc ?)..
    ça éviterai ce genre de soucis nan ?

  • LarmeLarme Membre
    octobre 2018 modifié #11

    J'ai donc repris les librairies de l'ancien mac et là ça fonctionne.. ça compile, impeccable.

    Comment ça ?

    Comment tu inclus tes librairies ?

  • J'installe le librairies manuellement, je glisse le .xcodeproj dans Xcode.
    Du coup, j'ai fais un clic droit dessus + "Show in Finder" (sur l'ancien mac) pour retrouver le chemin (ils étaient n'importe où dans mon répertoire de téléchargement, c'était le bordel), je les ai copiés sur le nouveau mac et réintégré au projet.. ça fonctionne :)

  • Alors CocoaPods ou pas, peu importe.

    L'important est de fixer les versions.

    Swift évolue, des noms changent, etc. des APIs passent en dépréciées, disparaissent et de nouvelles apparaissent (AddressBook.framework => Contacts.framework sur iOS par exemple), et donc tes bibliothèques tierces peuvent faire de même, ne pas supporter telle version (Swift, iOS, etc), être incompatibles avec une autre (par exemple, XCode 10 a enlevé le support de libstdc++ et donc les bibliothèques statiques qui se basaient dessus ne fonctionnent plus), etc.

    Les ajouter à la main, c'est un peu plus de travail pour mettre les nouvelles versions, il faut enlever la précédente et la rajouter. Ce qui peut-être un peu fastidieux. Pour des bibliothèques statiques, c'est assez simple en soit, mais des flags/dépendances peuvent changer, et il ne faut pas les oublier.
    Pour des codes comme AFNetworking, il faut redéplacer tous les fichiers, potentiellement également aussi rajouter des dépendances nouvelles etc.

    CocoaPods te permet juste d'éviter ces modifications manuelles (si le podspec est bien fait, mais c'est le cas en général).

    Et là, c'est quand tu updates en général qu'un patch, voire une mineure.
    Sur un majeur, potentiellement tu auras une modification de code (nouvelles classes, renommage, etc.). Et là, CocoaPods ne fera pas de miracle. Il faudra que tu adaptes ton code.

    Dans un podfile, tu peux indiquer le numéro de version que tu veux, laisser des updates "automatiques" de patch ou de mineures uniquement et ainsi t'éviter trop de surprises.

    Mais clairement, les dépendances, c'est un partie de notre boulot.

  • @Larme a dit :
    Dans un podfile, tu peux indiquer le numéro de version que tu veux, laisser des updates "automatiques" de patch ou de mineures uniquement et ainsi t'éviter trop de surprises.

    Oui parce qu'il y a encore des cuistres qui sont capables d'introduire des breaking changes sur une minor... (la 6.2.0 de xcodeproj pour ne pas la citer...)

  • @Pyroh a dit :
    Oui parce qu'il y a encore des cuistres qui sont capables d'introduire des breaking changes sur une minor... (la 6.2.0 de xcodeproj pour ne pas la citer...)

    Je n'ai pas en tête l'exemple de ce XCodeProj, mais oui, on peut rendre privée une méthode, ou la renommer.
    Mais on espère que cela n'affectera qu'une méthode publique ou deux, pas 36.

    Après, pour gérer des changements plus importants, il est intéressant de rajouter une classe d'intégration supplémentaire.

    J'ai tendance à faire ça depuis que j'ai dû updater une projet d'AFNetworking X à X+1.

    Cela consiste juste à créer une méthode supplémentaire qui cache l'utilisation d'AFNetworking.
    En cas de renommage/nouvelle implémentation/logique, tu ne touches qu'à ce fichier (en général, que le code des méthodes en soit, les implémentations, pas les déclarations) car le reste de ton code appelle ce "fichier".

    C'est pratique également si du jour au lendemain de passer d'une librairie à une autre (pour diverses raisons, non-maintenue, etc.).
    Cas basique : passer KingFisher à SDWebImage. Ces deux codes tiers permettent d'afficher des images avec des méthodes qui se ressemblent.

Connectez-vous ou Inscrivez-vous pour répondre.