GoogleMobileAds (SWIFT): el command falló debido a la señal: error de segmentación: 11

GoogleMobileAds través de CocoaPods tal como se explicó aquí: inicio rápido de admob iOS

Mi código se ve así:

 import Firebase import GoogleMobileAds .... var interstitial: GADInterstitial! 
  • He importado Firebase para resolver este error: Use of undeclanetworking type 'GADInterstitial' . Ahora, este error se ha ido. pero…

Tengo este error cada vez que trato de comstackr:

  Command failed due to signal : Segmentation fault: 11 

Limpiar y reiniciar no ayuda. No tengo otras importaciones en este file, por lo que esta respuesta no me está ayudando. Estoy usando la última versión de adMob obtenida por los pods, por lo que alterar el código como se sugiere aquí tampoco parece ser la dirección correcta. ¿Cómo se puede arreglar esto?

Aquí está el logging:

MergeSwiftModule normal x86_64 /Users/luda/Library/Developer/Xcode/DerivedData/Playbuzz-cexhbhfyfhomayguuohivuzvrlzx/Build/Intermediates/Playbuzz.build/Debug-iphonesimulator/Playbuzz.build/Objects-normal/x86_64/Playbuzz.swiftmodule cd / Users / luda /Documents/Development/playbuzz.ios /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -emit-module / Users / luda / Library / Developer / Xcode / DerivedData / Playbuzz -cexhbhfyfhomayguuohivuzvrlzx / Build / Intermediates / Playbuzz.build / Debug-iphonesimulator / Playbuzz.build / Objects-normal / x86_64 / AppDelegate ~ partial.swiftmodule / Users / luda / Library / Developer / Xcode / DerivedData / Playbuzz-cexhbhfyfhomayguuohivuzvrlzx / Build / Intermediates /Playbuzz.build/Debug-iphonesimulator/Playbuzz.build/Objects-normal/x86_64/QuizResult~partial.swiftmodule ++++++++++++++++++++++++++ +++++++++ I / Users / luda / Documents / Development / playbuzz.ios / Pods / Headers / Public / GoogleUtilities -Xcc -I / Users / luda / Library / Developer / Xcode / DerivedData / Play buzz-cexhbhfyfhomayguuohivuzvrlzx / Build / Intermediates / Playbuzz.build / Debug-iphonesimulator / Playbuzz.build / DerivedSources / x86_64 -Xcc -I / Users / luda / Library / Developer / Xcode / DerivedData / Playbuzz-cexhbhfyfhomayguuohivuzvrlzx / Build / Intermediates / Playbuzz. build / Debug-iphonesimulator / Playbuzz.build / DerivedSources -Xcc -DDEBUG = 1 -Xcc -DCOCOAPODS = 1 -Xcc -working-directory / Users / luda / Documents / Development / playbuzz.ios -emit-module-doc-path / Usuarios / luda / Biblioteca / Desarrollador / Xcode / DerivedData / Playbuzz-cexhbhfyfhomayguuohivuzvrlzx / Construir / Intermedios / Playbuzz.build / Debug-iphonesimulator / Playbuzz.build / Objetos-normal / x86_64 / Playbuzz.swiftdoc -module-name Playbuzz -emit-objc -header-path /Users/luda/Library/Developer/Xcode/DerivedData/Playbuzz-cexhbhfyfhomayguuohivuzvrlzx/Build/Intermediates/Playbuzz.build/Debug-iphonesimulator/Playbuzz.build/Objects-normal/x86_64/Playbuzz-Swift.h -o /Users/luda/Library/Developer/Xcode/DerivedData/Playbuzz-cexhbhfyfhomayguuohivuzvrlzx/Build/Intermediates/Playbuzz.build/De bug-iphonesimulator / Playbuzz.build / Objects-normal / x86_64 / Playbuzz.swiftmodule

  1. Al cargar miembros para 'ItemViewController' al
  2. Mientras deserializa decl # 182 (PATTERN_BINDING_DECL)
  3. Mientras deserializa decl # 21 (VAR_DECL)

Sí, ese problema me mantuvo durante días … Finalmente encontré la solución habilitando la optimization completa de modules. Aquí hay un enlace que explica cómo:

http://useyourloaf.com/blog/swift-whole-module-optimization/

¡Buena suerte!

Este segfault se estaba produciendo para nosotros porque estábamos generando automáticamente una class de entidad de datos básicos, pero también incluyendo su file fuente generado manualmente en uno de nuestros modules de desarrollo. Por lo que vale, aunque nuestro post de error era el mismo, no usamos AdMob, y habilitar la optimization de module completo no resolvió el problema para nosotros.

Estamos utilizando modules de desarrollo para una variedad de bibliotecas internas. Cuando intentamos comstackr nuestro proyecto de aplicación principal después de agregar una nueva entidad de Datos de núcleo a uno de nuestros modules de desarrollo (llamar a este module A), obtendríamos "Falla de segmentación: 11", mientras que Xcode creó los modules B y C que dependen de A. Xcode no informó ningún error del pod A en sí mismo. Los errores de construcción B y C se produjeron al ejecutar MergeSwiftModule. Aquí hay una versión limpiada de la traza de stack que recibimos:

 MergeSwiftModule normal x86_64 /Users/me/Library/Developer/Xcode/DerivedData/MyApp-xyz/Build/Intermediates/Pods.build/Debug-iphonesimulator/PodB.build/Objects-normal/x86_64/PodB.swiftmodule cd /Users/me/Code/ios/MyApp/Pods "/Applications/Xcode 8.2.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift" -frontend -emit-module ... (long command omitted here) 0 swift 0x00000001091bf3ad PrintStackTraceSignalHandler(void*) + 45 1 swift 0x00000001091beb56 SignalHandler(int) + 790 2 libsystem_platform.dylib 0x00007fff9916552a _sigtramp + 26 3 libsystem_platform.dylib 000000000000000000 _sigtramp + 1726589680 4 swift 0x00000001067cb996 swift::ModuleFile::getType(llvm::PointerEmbeddedInt<unsigned int, 31>) + 806 5 swift 0x00000001067c4178 swift::ModuleFile::getDecl(llvm::PointerEmbeddedInt<unsigned int, 31>, llvm::Optional<swift::DeclContext*>) + 18664 6 swift 0x00000001067cfb2c swift::ModuleFile::maybeReadPattern() + 332 7 swift 0x00000001067cfece swift::ModuleFile::maybeReadPattern() + 1262 8 swift 0x00000001067c2d82 swift::ModuleFile::getDecl(llvm::PointerEmbeddedInt<unsigned int, 31>, llvm::Optional<swift::DeclContext*>) + 13554 9 swift 0x00000001067d44a7 swift::ModuleFile::loadAllMembers(swift::Decl*, unsigned long long) + 647 10 swift 0x0000000106b6706a (anonymous namespace)::Traversal::visitNominalTypeDecl(swift::NominalTypeDecl*) + 314 11 swift 0x0000000106b6501b (anonymous namespace)::Traversal::doIt(swift::Decl*) + 219 12 swift 0x000000010651cc2f swift::SILPassManager::SILPassManager(swift::SILModule*, llvm::StringRef) + 1423 13 swift 0x0000000106521cef swift::runSILDiagnosticPasses(swift::SILModule&) + 159 14 swift 0x00000001061cbf7e performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*) + 19758 15 swift 0x00000001061c52b3 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 17859 16 swift 0x00000001061815cf main + 8239 17 libdyld.dylib 0x00007fff956745ad start + 1 18 libdyld.dylib 0x0000000000000068 start + 1788394172 Stack dump: 0. Program arguments: /Applications/Xcode 8.2.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -emit-module ... (long command omitted here) 

Cuando abrimos individualmente el file de proyecto de pod A y tratamos de comstackrlo, Xcode se quejó de que teníamos dos references al mismo nombre de file . Una vez que arreglamos eso, convirtiendo la configuration Codegen para la entidad infractora en "Manual / Ninguno", todos los problemas desaparecieron mágicamente, al build tanto el proyecto de pod A como el proyecto de la aplicación principal en su set.