jsdw_ios/Podfile

131 lines
4.0 KiB
Ruby

# Uncomment the next line to define a global platform for your project
source 'https://gitee.com/mirrors/CocoaPods-Specs.git'
platform :ios, '15.0'
use_frameworks!
target 'QuickLocation' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for QuickLocation
# Pods for Base
pod 'Moya'
pod 'ObjectMapper'
pod 'RxCocoa'
pod 'RxSwift'
pod 'SwiftyUserDefaults'
pod 'SwiftyJSON'
pod 'URLNavigator'
pod 'RxDataSources'
pod 'RxSwiftExt'
pod 'SwiftDate'
#pod 'RxGesture'
pod 'CocoaLumberjack/Swift'
pod 'KingfisherWebP'
pod 'Masonry'
#工具
#pod 'FLEX', :configurations => ['Debug', 'AdHoc']
pod 'HXPHPicker'
pod 'SwiftKeychainWrapper'
pod 'SGQRCode', '~> 4.1.0' #扫描
#pod 'PGDatePicker'
pod 'IQKeyboardManagerSwift'
pod 'YBImageBrowser'
pod 'YBImageBrowser/Video' #视频功能
pod 'YYImage' #, :git => 'https://github.com/QiuYeHong90/YYImage.git'
pod 'YYImage/WebP'
#UI
pod 'SnapKit'
pod 'MJRefresh'
pod 'MBProgressHUD', :git => 'https://github.com/jdg/MBProgressHUD.git'
pod 'MarqueeLabel'
pod 'Popover'
pod 'SDCycleScrollView'
pod 'lottie-ios'
pod 'TagListView', '~> 1.0'
#第三方SDk
pod 'GYSDK' #个推一键登录
pod 'OpenIMSDK' #OpenIM
#高德地图
pod 'AMap3DMap' #3D地图SDK
pod 'AMapSearch' #地图SDK搜索功能
pod 'AMapLocation' #定位SDK
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
end
end
# These frameworks ship without a valid arm64-simulator slice (even some
# xcframeworks contain device-only arm64). Linking them for simulator on
# Xcode 15+ (arm64-only simulator) fails. Fix: remove EXCLUDED_ARCHS (so
# simulator destinations appear), strip them from general OTHER_LDFLAGS,
# and add them back only via OTHER_LDFLAGS[sdk=iphoneos*].
device_only_fws = %w[MAMapKit AMapFoundationKit AMapLocationKit AMapSearchKit ZXSDK GeYanSdk GTCommonSDK]
device_only_dirs = %w[AMap3DMap AMapFoundation AMapLocation AMapSearch ZXSDK GYSDK GTCommonSDK]
Dir.glob(File.join(installer.sandbox.root, 'Target Support Files', '**', '*.xcconfig')).each do |path|
content = File.read(path)
# Remove arm64 exclusion
content.gsub!(/^EXCLUDED_ARCHS\[sdk=iphonesimulator\*\] = arm64.*\n?/, '')
if content =~ /^OTHER_LDFLAGS = (.+)$/
ldflags = $1
stripped_ld = false
device_only_fws.each do |fw|
if ldflags.gsub!(/ *-(weak_)?framework "#{fw}"/, '')
stripped_ld = true
end
end
content.sub!(/^OTHER_LDFLAGS = .+$/, "OTHER_LDFLAGS = #{ldflags}")
# Remove any old conditional lines
content.gsub!(/^OTHER_LDFLAGS\[sdk=iphonesimulator\*\].*\n?/, '')
content.gsub!(/^OTHER_LDFLAGS\[sdk=iphoneos\*\].*\n?/, '')
# Only add device-only conditional if we actually stripped something
if stripped_ld
device_flags = device_only_fws.map { |fw| %(-framework "#{fw}") }.join(' ')
content += "\nOTHER_LDFLAGS[sdk=iphoneos*] = $(inherited) #{device_flags}\n"
end
end
# Strip device-only dirs from FRAMEWORK_SEARCH_PATHS and move to iphoneos only
if content =~ /^FRAMEWORK_SEARCH_PATHS = (.+)$/
fsp = $1
device_search_paths = []
device_only_dirs.each do |dir|
%w[PODS_ROOT PODS_CONFIGURATION_BUILD_DIR PODS_XCFRAMEWORKS_BUILD_DIR].each do |var|
pattern = / *"\$\{#{var}\}\/#{dir}"/
if fsp.match?(pattern)
fsp.gsub!(pattern, '')
device_search_paths << "\"${#{var}}/#{dir}\""
end
end
end
content.sub!(/^FRAMEWORK_SEARCH_PATHS = .+$/, "FRAMEWORK_SEARCH_PATHS = #{fsp}")
content.gsub!(/^FRAMEWORK_SEARCH_PATHS\[sdk=iphoneos\*\].*\n?/, '')
unless device_search_paths.empty?
content += "\nFRAMEWORK_SEARCH_PATHS[sdk=iphoneos*] = $(inherited) #{device_search_paths.uniq.join(' ')}\n"
end
end
File.write(path, content)
end
end