* test out GCC & LTO size optimizations, make sure Example App links to our code * update submodule commit has * update the base64 for the trustRoot - isrgrootx1 * update code comment * use testNet * keep debug symbols * update lock * update submodule hash with debug symbols * go back to part1 savings * add bitcode support in Mobilecoin.podspec and in LibMobileCoin repo * Enable bitcode in podspec for all targets, disable bitcode on TestableRelease target so integration tests will pass. * disable bitcode for integration tests * udpate submodule hash * disable bitcode on test targets * update hash * revert changes in Example * remove changes * podfile.lock * update podfile and lock, need to revert to remote before merge * remove xcode 11 from circleCI, 12 is required for app-store submissions since April 2021 * update submodule hash * update hash, increment pre version * increment pre version * use MCO, update submodule hash * update hashes * Use remote LibMobileCoin v1.2.0-pre3, update submodule hash.
93 lines
3.6 KiB
Ruby
93 lines
3.6 KiB
Ruby
source 'https://cdn.cocoapods.org/'
|
|
|
|
platform :ios, '10.0'
|
|
|
|
plugin 'cocoapods-repo-update'
|
|
keep_source_code_for_prebuilt_frameworks!
|
|
plugin 'cocoapods-keys', {
|
|
:project => "MobileCoin",
|
|
:keys => [
|
|
"devNetworkAuthUsername",
|
|
"devNetworkAuthPassword",
|
|
"testNetTestAccountMnemonicsCommaSeparated",
|
|
]}
|
|
|
|
use_frameworks!
|
|
|
|
ENV['MC_ENABLE_SWIFTLINT_SCRIPT'] = '1'
|
|
ENV['MC_ENABLE_WARN_LONG_COMPILE_TIMES'] = '1'
|
|
|
|
target 'Example' do
|
|
pod 'MobileCoin', path: '..'
|
|
pod 'MobileCoin/Core', path: '..', testspecs: ['Tests', 'IntegrationTests', 'PerformanceTests']
|
|
# pod 'MobileCoin', podspec: '../MobileCoin.podspec'
|
|
# pod 'MobileCoin/Core', podspec: '../MobileCoin.podspec', testspecs: ['Tests', 'IntegrationTests']
|
|
# pod 'MobileCoin', git: 'https://github.com/mobilecoinofficial/MobileCoin-Swift.git'
|
|
# pod 'MobileCoin/Core', git: 'https://github.com/mobilecoinofficial/MobileCoin-Swift.git', testspecs: ['Tests', 'IntegrationTests']
|
|
|
|
pod 'LibMobileCoin'
|
|
# pod 'LibMobileCoin', path: '../Vendor/libmobilecoin-ios-artifacts'
|
|
# pod 'LibMobileCoin', podspec: '../Vendor/libmobilecoin-ios-artifacts/LibMobileCoin.podspec'
|
|
# pod 'LibMobileCoin', git: 'https://github.com/the-real-adammork/libmobilecoin-ios-artifacts.git'
|
|
|
|
pod 'gRPC-Swift'
|
|
pod 'SwiftProtobuf'
|
|
pod 'SwiftLint'
|
|
end
|
|
|
|
post_install do |installer|
|
|
# Enable building tests using Testable Release build configuration
|
|
installer.pods_project.targets.each do |target|
|
|
next unless target.name == 'MobileCoin'
|
|
target.build_configurations.each do |config|
|
|
next unless config.name == 'Testable Release'
|
|
config.build_settings['ENABLE_TESTABILITY'] = 'YES'
|
|
end
|
|
end
|
|
|
|
# Enable running performance tests on a physical device
|
|
installer.pods_project.targets.each do |target|
|
|
target.build_configurations.each do |config|
|
|
if target.name == 'AppHost-MobileCoin-UI-Tests'
|
|
config.build_settings['DEVELOPMENT_TEAM'] = '8JT9JJD9Y5'
|
|
elsif target.name.start_with? 'MobileCoin-UI-'
|
|
config.build_settings['DEVELOPMENT_TEAM'] = '8JT9JJD9Y5'
|
|
config.build_settings.delete('CODE_SIGN_IDENTITY[sdk=iphoneos*]')
|
|
end
|
|
end
|
|
end
|
|
|
|
# Bump deployment target to 9.0 for pods that explicitly specify 8.0, since 9.0 is the minimum
|
|
# that Xcode 12 supports.
|
|
installer.pods_project.targets.each do |target|
|
|
target.build_configurations.each do |config|
|
|
if Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']) < Gem::Version.new('9.0')
|
|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
|
|
end
|
|
end
|
|
end
|
|
|
|
# Add Keys framework to Integration Tests for injecting values using cocoapods-keys
|
|
installer.pods_project.targets.each do |target|
|
|
next unless target.name == 'MobileCoin-Unit-Core-IntegrationTests'
|
|
installer.pods_project.targets.each do |keys_target|
|
|
next unless keys_target.name == 'Keys'
|
|
target.add_dependency(keys_target)
|
|
end
|
|
target.build_configurations.each do |config|
|
|
config.build_settings["FRAMEWORK_SEARCH_PATHS"] ||= "$(inherited)"
|
|
config.build_settings["FRAMEWORK_SEARCH_PATHS"] << ' "${PODS_CONFIGURATION_BUILD_DIR}/Keys"'
|
|
config.build_settings["OTHER_LDFLAGS"] ||= "$(inherited)"
|
|
config.build_settings["OTHER_LDFLAGS"] << ' -framework "Keys"'
|
|
end
|
|
end
|
|
|
|
# Disable bitcode on test targets
|
|
installer.pods_project.targets.each do |target|
|
|
next unless ['MobileCoin-Unit-Core-IntegrationTests', 'MobileCoin-UI-Core-PerformanceTests', 'MobileCoin-Unit-Core-Tests'].find_index(target.name) != nil
|
|
target.build_configurations.each do |config|
|
|
config.build_settings['ENABLE_BITCODE'] = 'NO'
|
|
end
|
|
end
|
|
end
|