Ao executar uma atualização de carthage - plataforma iOS ChartsRealm falha ao construir. Eu testei isso em 3 de nossas máquinas com o mesmo resultado. Limpamos o projeto, excluímos o diretório Carthage e tentamos fazer o downgrade da versão. Tudo com o mesmo resultado.
Aqui está o resultado da falha:
Os seguintes comandos de compilação falharam:
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.harts normal armv normal7/armv7/Objects-normal7/armv7
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.build/Objects-normal/arm64/Objects normal
(2 falhas)
clang: erro: o comando do linker falhou com o código de saída 1 (use -v para ver a chamada)
clang: erro: o comando do linker falhou com o código de saída 1 (use -v para ver a chamada)
Uma tarefa shell (/ usr / bin / xcrun xcodebuild -project ... / Carthage / checkouts / Gráficos / ChartsRealm / ChartsRealm.xcodeproj -Esquema ChartsRealm-iOS -configuration lançamento -sdk iPhoneOS ONLY_ACTIVE_ARCH = NO BITCODE_GENERATION_MODE = bitcode CODE_SIGNING_REQUIRED = NO CODE_SIGN_IDENTITY = CARTHAGE = YES clean build) falhou com o código de saída 65:
* FALHA NA CONSTRUÇÃO *
Os seguintes comandos de compilação falharam:
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.harts normal armvnormal/armv7/Objects-normal7/armv7
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.build/Objects-normal/arm64/Objects normal
(2 falhas)
mesmo aqui, obtém o mesmo erro
Se você não precisa do ChartsRealm, vá para Carthage\Checkouts\Charts
, exclua ChartsRealm
e execute o comando carthage build
.
@lewissk : Tenho o mesmo problema se tento executar a ação Carthage com Fastlane. Se eu executar carthage update --platform iOS
ou carthage update
diretamente no terminal, está tudo bem. Você usa Fastlane ou não?
@tomassliz Não estou usando Fastlane, embora goste muito de Fastlane. Estou apenas executando a linha de comando básica carthage update --platform iOS
@lewissk Depois de algumas tentativas, tudo funciona. Não importa se estou usando Fastlane ou não. Não sei qual era o problema, porque tudo ainda é o mesmo (removi a pasta Carthage e reiniciei meu repo git todas as vezes)
O mesmo problema aqui. Ele falha apenas ao construir a versão iOS do ChartsRealm. Parece que ele deseja vincular o Cocoa ao framework iOS, o que obviamente não funcionará:
ld: framework not found Cocoa
clang: error: linker command failed with exit code 1 (use -v to see invocation)
O mesmo problema aqui. Algum seguimento sobre este assunto?
Atualize seu Cartago ... Parece que ele escolheu argumentos de construção errados. Como o cacau só é importado para OSX
Meu cartago está atualizado e ainda tenho esse problema. Deve ser corrigido com # 1119, espero que aconteça em breve.
@ petester42 Bem, não vai consertar se você quiser usar o ChartsRealm, mas muitas pessoas (como eu) não querem e o carthage ainda o constrói porque está no mesmo repo.
Construir todos os esquemas em um projeto é uma limitação do cartago. Não há realmente nada que possamos fazer sobre isso. Ter um repositório diferente para cada pequena extensão torna-se incontrolável muito rápido
Bem, eu não chamaria isso de "pequena extensão", e nem o fariam muitas pessoas em # 1119, mas ok então, podemos concordar em discordar.
Eu convidaria as pessoas que estão tendo problemas com a construção de cartago para tentar usar github "danielgindi/Charts" "extract-realm"
em seu Cartfile.
Por favor, relate se isso corrige os problemas.
@ petester42 Ainda não funciona aqui. : /
** BUILD FAILED **
The following build commands failed:
CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineRadarDataSet.swift
CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmPieDataSet.swift
CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineDataSet.swift
CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmScatterDataSet.swift
CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmBarDataSet.swift
CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmBaseDataSet.swift
CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmCandleDataSet.swift
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(8 failures)
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineRadarDataSet.swift:41:22: error: use of undeclared type 'Fill'
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmPieDataSet.swift:47:20: error: use of unresolved identifier 'PieChartDataEntry'
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmPieDataSet.swift:51:20: error: use of unresolved identifier 'PieChartDataEntry'
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineDataSet.swift:153:33: error: use of undeclared type 'IFillFormatter'
# And so on...
Em que ordem as coisas foram construídas?
# carthage update --platform iOS ios-charts
*** Fetching ios-charts
# ...
*** Fetching realm-cocoa
*** Downloading realm-cocoa.framework binary at "v1.0.2"
*** Checking out ios-charts at "d9d73eb072cb60f2b841eb7dd0be59b0561d9f2b"
*** xcodebuild output can be found in /var/folders/p7/7ckwbkvs0wb3q2qpn7wjn4yh0000gn/T/carthage-xcodebuild.Ybt8ep.log
*** Building scheme "Charts-iOS" in Charts.xcodeproj
*** Building scheme "ChartsRealm-iOS" in ChartsRealm.xcodeproj
E então vêm os erros.
Acabei de experimentar e funciona muito bem para mim. Tente excluir seus dados derivados e, se isso não funcionar, exclua a pasta carthage, bem como o cartfile.resolved.
Eu tenho exatamente o mesmo problema que @dbmrq encontrou. Limpei tudo, desde os dados derivados ao cache do CarthageKit antes de tentar uma nova compilação. O log completo está disponível aqui , e meu Cartfile se parece com isto:
github "realm/realm-cocoa" ~> 1.0
github "danielgindi/Charts" "extract-realm"
Nada fora do comum. :)
Pelos logs enviados, parece que você está usando uma versão diferente do xcode para construir, uma vez que parecem falhas de sintaxe genérica. Tente executar xcode-select -print-path
e veja se seu caminho é 7.3.1.
Acabei de verificar, o caminho aponta para o pacote Xcode regular, não o beta.
Curiosamente, construir os frameworks por conta própria, após uma tentativa fracassada de Carthage, funciona perfeitamente (assumindo que Carthage foi capaz de construir Gráficos e Realm).
Eu executei o comando que Carthage _supposedly_ usou:
$ /usr/bin/xcrun xcodebuild -project '<project>/Carthage/Checkouts/Charts/ChartsRealm/ChartsRealm.xcodeproj' -scheme ChartsRealm-iOS -configuration Release -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build
Na verdade, pode ser um problema de tempo estranho, vindo de Cartago.
Eu tentei com seu novo branch workspacing
e agora parece estar funcionando! 🎉
🔥🔥🔥
Usando workspacing
, também está funcionando para mim! 👏
Minha solução foi remover github "danielgindi/Charts" ~> 2.2.5
do Cartfile e executar carthage update --platform iOS
para construir todas as outras estruturas e, depois disso, executar a atualização do carthage separadamente para gráficos com carthage update Charts --platform iOS
fechado por # 1422
Comentários muito úteis
O mesmo problema aqui. Ele falha apenas ao construir a versão iOS do ChartsRealm. Parece que ele deseja vincular o Cocoa ao framework iOS, o que obviamente não funcionará: