131 lines
4.0 KiB
Ruby
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
|