Closed vsevolod-sp closed 3 years ago
source 'https://github.com/yoomoney-tech/cocoa-pod-specs.git' указан в Podfile ? https://github.com/yoomoney/yookassa-payments-swift#cocoapods
Да, забыли указать. Но дальше опять возникла ошибка:
[!] The 'Pods-poetvdushe' target has transitive dependencies that include statically linked binaries: (/Users/vsevolod/Library/Mobile Documents/com~apple~CloudDocs/Data/App/Poeziya/poetvdushe-ios/Pods/MoneyAuth/MoneyAuth.xcframework)
@vsevolod-sp
Какая версия CocoaPods используется?
Установлена ли настройка use_frameworks!
в Podfile ?
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/yoomoney-tech/cocoa-pod-specs.git'
target 'poetvdushe' do
pod 'Alamofire', '~> 4.6.0'
pod 'SwiftyJSON', '~> 4.2'
pod 'SQLite.swift', '~> 0.11.5'
pod 'Toast-Swift', '~> 4.0'
pod 'Kingfisher', '~> 5.0'
pod 'XLPagerTabStrip', '~> 8.0'
pod 'SwiftyVK'
pod 'FBSDKCoreKit', '~> 5.7.0'
pod 'FBSDKLoginKit', '~> 5.7.0'
pod 'MMMaterialDesignSpinner'
pod 'Firebase/Core'
pod 'Firebase/Analytics'
pod 'FormattedTextField'
pod 'Google-Mobile-Ads-SDK'
pod 'Charts'
pod 'Texture'
pod 'MaterialComponents/BottomSheet'
pod 'CameraManager', '~> 4.4'
pod 'UITextView+PlaceholderExt
pod 'SwiftyStoreKit'
pod 'CircleProgressView', '~> 1.0'
pod 'YooKassaPayments',
:git => 'https://github.com/yoomoney/yookassa-payments-swift.git',
:tag => '5.0.0'
pod 'SwiftEventBus',
:git => 'https://github.com/cesarferreira/SwiftEventBus.git',
:tag => '3.0.1'
use_frameworks!
# Pods for poetvdushe
end
@vsevolod-sp
А версия CocoaPods какая?
Для того чтобы это узнать нужно в директории с проектом в консоли выполнить
pod --version
Если версия ниже 1.10.0, попробуйте обновить.
gem install cocoapods
Похожая проблема при попытке установки версий 5.0.0 и 5.0.1. Версия cocoapods указана в Gemfile – 1.10.0
[!] Unable to find a specification for `YooMoneyCoreApi (~> 1.9.0)` depended upon by `YooKassaPayments`
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
@KirillovE Необходимо проверить что в Podfile указан source 'https://github.com/yoomoney-tech/cocoa-pod-specs.git'
далее выполнить команду
pod install --repo-update
Спасибо, установить удалось. Но теперь есть несколько ошибок
.../Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/MoneyAuth/MoneyAuth.framework/Modules/MoneyAuth.swiftmodule/x86_64-apple-ios-simulator.swiftinterface:10:8: Compiling for iOS 10.0, but module 'FunctionalSwift' has a minimum deployment target of iOS 11.0: /Users/evgenij/Library/Developer/Xcode/DerivedData/WorkZilla-aunoefbzmvnmfieepnnvtqbxqupu/Build/Products/Debug-iphonesimulator/FunctionalSwift/FunctionalSwift.framework/Modules/FunctionalSwift.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
.../Pods/YooKassaPayments/YooKassaPayments/Private/Services/Authorization/AuthorizationMediator.swift:3:8: Failed to build module 'MoneyAuth' from its module interface; the compiler that produced it, 'Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)', may have used features that aren't supported by this compiler, 'Apple Swift version 5.3.1 (swiftlang-1200.0.41 clang-1200.0.32.8)'
.../Build/Products/Debug-iphonesimulator/YooKassaPayments/YooKassaPayments.framework/Modules/module.modulemap:9:12: Header 'YooKassaPayments-Swift.h' not found
Could not build Objective-C module 'YooKassaPayments'
@KirillovE
Если на 1 ответ - нет, на текущий момент нужно это прописывать, или можно попробовать воспользоваться решением из https://github.com/yoomoney/yookassa-payments-swift/issues/77
Если на 2 ответ - да, то нужно проверить какая версия выставляется. Если больше 10.0, то можно попробовать расширить эту секцию таким образом. На текущий момент - решение такое. В будущем мы планируем починить подобные "костыли".
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if target.name == 'FunctionalSwift' || target.name == 'YooMoneyCoreApi'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
else
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
end
end
end
end
@oltv00
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = 'arm64'
end
end
end
Минимальная версия для проекта – iOS 11 Попробую Ваше предложение с проверкой условия
@vsevolod-sp А версия CocoaPods какая? Для того чтобы это узнать нужно в директории с проектом в консоли выполнить
pod --version
Если версия ниже 1.10.0, попробуйте обновить.
gem install cocoapods
Помогло
@KirillovE
- use_frameworks! используется в Podfile ?
- Есть ли в Podfile post_install секция с установкой IPHONEOS_DEPLOYMENT_TARGET ?
Если на 1 ответ - нет, на текущий момент нужно это прописывать, или можно попробовать воспользоваться решением из #77
Если на 2 ответ - да, то нужно проверить какая версия выставляется. Если больше 10.0, то можно попробовать расширить эту секцию таким образом. На текущий момент - решение такое. В будущем мы планируем починить подобные "костыли".
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| if target.name == 'FunctionalSwift' || target.name == 'YooMoneyCoreApi' config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0' else config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' end end end end
Второй совет помог. А также инструкция по миграции на четвёртую версию
Спасибо, теперь проект запускается. Похоже, можно закрывать обсуждение
@oltv00 теперь другая проблема. Не знаю, стоит ли открывать новый issue, поэтому напишу здесь
Проект успешно собирается и запускается. Но UI тесты работать отказываются:
UITests-Runner[52424:1126689] Running tests...
UITests-Runner[52424:1126689] The bundle “UITests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
UITests-Runner[52424:1126689] (dlopen_preflight(/Users/evgenij/Library/Developer/Xcode/DerivedData/WorkZilla-aunoefbzmvnmfieepnnvtqbxqupu/Build/Products/Variant-NoSanitizers/Tests-iphonesimulator/UITests-Runner.app/PlugIns/UITests.xctest/UITests): Library not loaded: @rpath/TMXProfiling.framework/TMXProfiling
Referenced from: /Users/evgenij/Library/Developer/Xcode/DerivedData/WorkZilla-aunoefbzmvnmfieepnnvtqbxqupu/Build/Products/Variant-NoSanitizers/Tests-iphonesimulator/UITests-Runner.app/PlugIns/UITests.xctest/Frameworks/MoneyAuth.framework/MoneyAuth
Reason: image not found)
Фреймворки TMXProfiling и TMXProfilingConnections добавлены в основной таргет и помечены "Embed & Sign"
Решил проблему, изменив Podfile, исключил эту библиотеку из тестового таргета. Теперь всё работает. Ещё раз спасибо @oltv00 за помощь
@oltv00 может быть рано еще закрывать тред? Нужно описать, как запускать UI тесты вместе с библиотекой. Например, я после удаления библиотеки из тестового таргета, все равно столкнулся с ошибкой при запуске тестов
Добавил в pod file:
Далее, при установке ошибка: