Il mio progetto utilizza CocoaPods e anche i file personalizzati xcconfig
. Fino ad ora, questo non ha causato alcun problema: ho appena dovuto #include
la configurazione generata da CocoaPods alla fine della mia configurazione personalizzata.Come posso modificare OTHER_LDFLAGS tramite l'hook post-installazione di CocoaPods?
Tuttavia, ho riscontrato un problema in cui è necessario specificare condizionatamente OTHER_LDFLAGS
in base a xcconfig
, ma non riesco a capire come farlo.
Per cominciare, ho cercato semplicemente accedendo al OTHER_LDFLAGS
come questo, ma le bandiere non sono effettivamente registrati:
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
name = target.name
puts "Target Found: #{name}"
flags = config.build_settings['OTHER_LDFLAGS']
puts "OTHER_LDFLAGS Found: #{flags}"
end
end
end
L'output è simile al seguente:
Target Found: Pods-ProjectName-DependencyName1
OTHER_LDFLAGS Found: # nothing here...?
Target Found: Pods-ProjectName-DependencyName2
OTHER_LDFLAGS Found: # again nothing...
# etc...
Target Found: Pods-ProjectName # Cool, this is the main target pod
OTHER_LDFLAGS Found: # ...
Come può In realtà modifico OTHER_LDFLAGS
tramite l'hook post-installazione di CocoaPods?
Che cosa stai cercando di fare esattamente? Se vuoi cambiare OTHER_LDFLAGS, puoi farlo direttamente nella specifica del pod – Loegic
Dopo tutto, non penso che questa domanda abbia senso. Come dice @Loegic: i pod possono dichiarare gli OTHER_LDFLAGS nei loro podspecs. Non vuoi scherzare con i pod target come IMO. – hfossli
@Loegic, mi trovo nella sfortunata situazione in cui devo usare un framework statico di terze parti, che non ha un CocoaPod ed è troppo grande per funzionare bene come un pod (8 GB ...: /). Ho scritto degli script per farlo, ma richiede anche aggiunte agli OTHER_LDFLAGS. Non puoi ignorare OTHER_LDFLAGS nelle impostazioni di generazione del tuo target, altrimenti i xcconfigs di CocoaPods verranno ignorati. Non è possibile farlo in xcconfig personalizzato, o uno o l'altro flag di configurazione (a seconda di come si include il pod xcconfig) verrà sovrascritto. Quindi, ho pensato di usare il gancio di installazione. –