Ich habe eine App, die in zwei Varianten erhältlich ist (kostenpflichtig und kostenlos). Eines meiner Frameworks heißt AppBootstrap und hat zwei Unterarten (FreeVersion und PaidVersion).
Jetzt gibt Xcode immer wieder diese nervige Warnung (ich strebe in meinem Projekt keine Warnungen an, damit ich sie nicht einfach ignorieren möchte, rutschige Steigung und ähnliches;))
Multiple targets match implicit dependency for product reference 'AppBootstrap.framework'. Consider adding an explicit dependency on the intended target to resolve this ambiguity. (in target 'The Flight Tracker Free' from project 'The Flight Tracker')
Target 'AppBootstrap-FreeVersion' (in project 'AppBootstrap')
Target 'AppBootstrap-PaidVersion' (in project 'AppBootstrap')
Ich habe ein bisschen gegoogelt, aber ich konnte nicht finden, wie ich das lösen kann. Ich habe versucht, es in der Build-Phase 'Link Binary With Libraries' hinzuzufügen, aber das hat es nicht gelöst. * Hinzufügen zur Abhängigkeitsphase, aber sie werden dort nicht angezeigt. * Ändern des '-framework AppBootstrap' in 'Build settings => Other Linker Flags' in '-framework AppBootstrap-FreeVersion', was jedoch nur zu Fehlern führt.
Mein Podfile (vereinfacht)
source 'custom-pods/link'
source 'https://cdn.cocoapods.org/'
platform :ios, '9.0'
install! 'cocoapods',
:generate_multiple_pod_projects => true,
:incremental_installation => true
use_frameworks!
inhibit_all_warnings!
workspace 'MyApp'
target 'MyAppFree' do
pod 'AppBootstrap/FreeVersion'
end
target 'MyAppPaid' do
pod 'AppBootstrap/PaidVersion'
end
AppBootstrap podspec
Pod::Spec.new do |s|
s.name = 'AppBootstrap'
s.version = '3.18.2'
s.summary = 'iOS App Bootstrap Module.'
s.platforms = { ios: '9.0' }
s.swift_version = '5.0'
s.description = <<-DESC
Contains classes to bootstrap ios apps.
DESC
s.homepage = ---
s.license = { type: 'MIT', file: 'LICENSE' }
s.author = { --- }
s.source = { --- }
s.frameworks = [
'Foundation',
'UIKit'
]
s.subspec 'PaidVersion' do |sub|
sub.dependency 'Advertisement/Core'
sub.source_files = [
'AppBootstrap/source/**/*.swift'
]
sub.resources = [
'AppBootstrap/support/Localization/*.lproj',
'AppBootstrap/support/ConsentText.plist',
'AppBootstrap/support/Images.xcassets'
]
sub.pod_target_xcconfig = {
'APPLICATION_EXTENSION_API_ONLY' => 'NO'
}
sub.pod_target_xcconfig = {
'OTHER_SWIFT_FLAGS' => '-D"PAIDVERSION"'
}
end
s.subspec 'FreeVersion' do |sub|
sub.dependency 'Advertisement/Ads'
sub.source_files = [
'AppBootstrap/source/**/*.swift'
]
sub.resources = [
'AppBootstrap/support/Localization/*.lproj',
'AppBootstrap/support/ConsentText.plist',
'AppBootstrap/support/Images.xcassets',
'AppBootstrap/support/Colors.xcassets',
'AppBootstrap/support/Fonts/*.otf'
]
sub.pod_target_xcconfig = {
'APPLICATION_EXTENSION_API_ONLY' => 'NO'
}
sub.pod_target_xcconfig = {
'OTHER_SWIFT_FLAGS' => '-D"FREEVERSION"'
}
end
s.subspec 'Undefined' do |sub|
sub.dependency 'Advertisement/Core'
sub.source_files = [
'AppBootstrap/source/**/*.swift'
]
sub.resources = [
'AppBootstrap/support/Localization/*.lproj',
'AppBootstrap/support/ConsentText.plist',
'AppBootstrap/support/Images.xcassets',
'AppBootstrap/support/Fonts/*.otf'
]
sub.pod_target_xcconfig = {
'APPLICATION_EXTENSION_API_ONLY' => 'NO'
}
sub.pod_target_xcconfig = {
'OTHER_SWIFT_FLAGS' => '-D"UNDEFINEDVERSION"'
}
end
s.default_subspec = 'Undefined'
end
Jede Hilfe / Beratung wird sehr geschätzt =)
Antworten:
Der Fehler tritt nur in Pruduct -> Archive auf.
Sie können die Pod-Installation für ein einzelnes Ziel vor der Archivierung durchführen.
quelle
Es ist mir passiert, als ich die iOS-Min-Version in Podfile gestoßen habe, aber vergessen habe, sie für Frameworks (Ziele) in Podfile zu stoßen
quelle