Open hemantsumanmetacube opened 3 months ago
After running forcehybrid create, the Podfile looks like
source 'https://cdn.cocoapods.org'
platform :ios, '16.0'
target 'TestApp' do
project 'TestApp.xcodeproj'
pod 'SalesforceHybridSDK', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Hybrid'
pod 'MobileSync', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'SmartStore', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'FMDB/SQLCipher', :tag => '2.7.10', :git => 'https://github.com/ccgus/fmdb'
pod 'SQLCipher', :tag => 'v4.5.6', :git => 'https://github.com/sqlcipher/sqlcipher'
pod 'SalesforceSDKCore', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'SalesforceAnalytics', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'SalesforceSDKCommon', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'Cordova', :tag => '7.1.0', :git => 'https://github.com/apache/cordova-ios'
end
$dynamic_framework = ['SalesforceAnalytics', 'SalesforceSDKCore', 'SalesforceSDKCommon', 'SmartStore', 'FMDB', 'SQLCipher', 'MobileSync']
pre_install do |installer|
installer.pod_targets.each do |pod|
if $dynamic_framework.include?(pod.name)
def pod.build_type
Pod::BuildType.dynamic_framework
end
end
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.deployment_target.to_i < 9
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
end
end
end
end
However after doing cordova prepare
source 'https://cdn.cocoapods.org'
platform :ios, '16.0'
target 'TestApp' do
project 'TestApp.xcodeproj'
pod 'SalesforceHybridSDK', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Hybrid'
pod 'MobileSync', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'SmartStore', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'FMDB/SQLCipher', :tag => '2.7.10', :git => 'https://github.com/ccgus/fmdb'
pod 'SQLCipher', :tag => 'v4.5.6', :git => 'https://github.com/sqlcipher/sqlcipher'
pod 'SalesforceSDKCore', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'SalesforceAnalytics', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'SalesforceSDKCommon', :tag => 'v12.0.0', :git => 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS'
pod 'Cordova', :tag => '7.1.0', :git => 'https://github.com/apache/cordova-ios'
end
Looks like cordova prepare reverts changes done during plugin installation. If you add back the code following target ... end in you Podfile it should work. We will have a look on our side to see whether we are making changes through the right plugin hooks.
Please let me know what changes do I need to do so that cordova prepare does not revert this changes.
Unfortunately we release a fix in a patch, you will have to re-apply the changes manually after every cordova prepare.
Please fill out the following details:
The Swift pod
SmartStore
depends uponSQLCipher
, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may setuse_modular_headers!
globally in your Podfile, or specify:modular_headers => true
for particular dependencies.