У меня есть Cocoapod, который я создаю, который позволяет пользователям Pod по желанию использовать Google Sign In - я пытаюсь включить Google Sign In как Subspec в подспецификации Cococapod.Непосредственное использование этого, например, в подспецификации, что-то вроде:
s.subspec 'Google' do |google|
google.dependency 'GoogleSignIn'
end
, похоже, не работает, потому что вызывает транзитивные ошибки включения статической структуры.
Мне повезло больше, если я включил соответствующие фреймворки Google.То есть, загрузив здесь фреймворки: https://developers.google.com/identity/sign-in/ios/sdk/,, поместив их в мой проект Cocoapod, а затем используя:
s.subspec 'Google' do |google|
google.xcconfig = {
'OTHER_SWIFT_FLAGS' => '$(inherited) -DSYNCSERVER_GOOGLE_SIGNIN',
'OTHER_LDFLAGS' => '$(inherited) -ObjC'
}
google.pod_target_xcconfig = {
'FRAMEWORK_SEARCH_PATHS' => '$(inherited) $(PODS_TARGET_SRCROOT)/SDKs/google_signin_sdk_4_1_2'
}
google.frameworks = ['GoogleSignIn', 'GoogleSignInDependencies']
google.resource_bundles = {
'GoogleSignIn' => ['$(PODS_TARGET_SRCROOT)/SDKs/google_signin_sdk_4_1_2/*.bundle']
}
end
Вышеуказанное будет встроено в мой проект, когда я использую его локально.То есть, когда я делаю следующее в моем Podfile:
pod 'SyncServer/Google', :path => '..'
Однако, если я пытаюсь проверить podspec при подготовке к передаче его в мой репозиторий Git:
pod lib lint
Iполучить следующую ошибку:
- ERROR | [iOS] [SyncServer/Google] file patterns: The `resource_bundles` pattern for `GoogleSignIn` did not match any file.
- ERROR | [iOS] [SyncServer/Google] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
Есть мысли?Спасибо.
Дополнительный комментарий 1) Я подозреваю, что моя проблема связана с моим использованием $ (PODS_TARGET_SRCROOT).каталог "SDKs" находится в корне моего проекта.Кажется, что $(PODS_TARGET_SRCROOT)
разрешается в корне при использовании модуля с локальной ссылкой на путь, но не при попытке линтинга проекта.