接入友盟统计与 U-APM,并优化宣传页打卡点标签交互。
友盟 SDK 改为隐私同意后再初始化;宣传页标签新增滑块位移动画,超过 5 个时选中项自动滚动居中。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
54
Podfile
54
Podfile
@ -11,22 +11,31 @@ target 'suixinkan' do
|
||||
# 微信 Open SDK:分享能力(不调用支付 API)
|
||||
pod 'WechatOpenSDK-XCFramework', '~> 2.0.4'
|
||||
|
||||
# 友盟 SDK:统计分析与应用性能监控,初始化需等用户同意隐私政策后再触发
|
||||
pod 'UMCommon'
|
||||
pod 'UMDevice'
|
||||
pod 'UMAPM'
|
||||
|
||||
target 'suixinkanTests' do
|
||||
inherit! :search_paths
|
||||
end
|
||||
end
|
||||
|
||||
# 模拟器可用的链接参数(不含高德 prebuilt framework,但保留微信 SDK)
|
||||
SIMULATOR_OTHER_LDFLAGS = <<~FLAGS.squish
|
||||
-ObjC -l"c++" -l"sqlite3.0" -l"z"
|
||||
-framework "CoreGraphics" -framework "CoreLocation" -framework "CoreTelephony"
|
||||
-framework "CoreText" -framework "ExternalAccessory" -framework "GLKit"
|
||||
-framework "OpenGLES" -framework "QuartzCore" -framework "Security"
|
||||
-framework "SystemConfiguration" -framework "UIKit" -framework "WebKit"
|
||||
-framework "WechatOpenSDK"
|
||||
FLAGS
|
||||
AMAP_SIMULATOR_FRAMEWORK_NAMES = %w[
|
||||
AMapFoundationKit
|
||||
AMapLocationKit
|
||||
AMapSearchKit
|
||||
MAMapKit
|
||||
].freeze
|
||||
|
||||
SIMULATOR_FRAMEWORK_SEARCH_PATHS = '"${PODS_ROOT}/WechatOpenSDK-XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/WechatOpenSDK-XCFramework"'
|
||||
def other_ldflags_without_amap(other_ldflags)
|
||||
stripped = other_ldflags.dup
|
||||
|
||||
AMAP_SIMULATOR_FRAMEWORK_NAMES.each do |framework_name|
|
||||
stripped = stripped.gsub(/ -framework "#{Regexp.escape(framework_name)}"/, '')
|
||||
end
|
||||
stripped
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
# 1. 修正 aggregate xcconfig:去掉 arm64 排除,模拟器单独链接(不链 AMap)
|
||||
@ -36,23 +45,14 @@ post_install do |installer|
|
||||
content = File.read(path)
|
||||
content.gsub!("EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64\n", '')
|
||||
|
||||
# 模拟器链接微信 SDK,同时剥离高德 framework
|
||||
content.gsub!(
|
||||
/OTHER_LDFLAGS\[sdk=iphonesimulator\*\] = .*\n/,
|
||||
"OTHER_LDFLAGS[sdk=iphonesimulator*] = #{SIMULATOR_OTHER_LDFLAGS}\n"
|
||||
)
|
||||
if content.include?('FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]')
|
||||
content.gsub!(
|
||||
/FRAMEWORK_SEARCH_PATHS\[sdk=iphonesimulator\*\] = .*\n/,
|
||||
"FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*] = $(inherited) #{SIMULATOR_FRAMEWORK_SEARCH_PATHS}\n"
|
||||
)
|
||||
else
|
||||
content << "FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*] = $(inherited) #{SIMULATOR_FRAMEWORK_SEARCH_PATHS}\n"
|
||||
end
|
||||
|
||||
unless content.include?('OTHER_LDFLAGS[sdk=iphonesimulator*]')
|
||||
content << "\nOTHER_LDFLAGS[sdk=iphonesimulator*] = #{SIMULATOR_OTHER_LDFLAGS}\n"
|
||||
content << "FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*] = $(inherited) #{SIMULATOR_FRAMEWORK_SEARCH_PATHS}\n"
|
||||
# 模拟器剥离高德 framework,但保留 CocoaPods 生成的微信、友盟和其他依赖链接参数。
|
||||
# 真机条件下再补回完整链接参数,避免真机能力受影响。
|
||||
if (device_ldflags = content[/^OTHER_LDFLAGS = (.*)$/, 1])
|
||||
simulator_ldflags = other_ldflags_without_amap(device_ldflags)
|
||||
content.gsub!(/^OTHER_LDFLAGS = .*\n/, "OTHER_LDFLAGS = #{simulator_ldflags}\n")
|
||||
content.gsub!(/OTHER_LDFLAGS\[sdk=iphonesimulator\*\] = .*\n/, '')
|
||||
content.gsub!(/OTHER_LDFLAGS\[sdk=iphoneos\*\] = .*\n/, '')
|
||||
content << "\nOTHER_LDFLAGS[sdk=iphoneos*] = #{device_ldflags}\n"
|
||||
end
|
||||
|
||||
File.write(path, content)
|
||||
|
||||
Reference in New Issue
Block a user