build-ipa/ironSource/PlayBTopOn/check_sdk_versions.sh
2026-01-05 10:40:05 +08:00

154 lines
5.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# SDK 最低版本检查脚本
echo "======================================"
echo "检查广告 SDK 的最低支持版本"
echo "======================================"
echo ""
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo "1. 检查 Pods 目录..."
if [ ! -d "$PROJECT_DIR/Pods" ]; then
echo -e "${RED}✗ Pods 目录不存在,请先运行 pod install${NC}"
exit 1
fi
echo ""
echo "2. 检查各个 SDK 的最低版本要求..."
echo ""
# 检查函数
check_sdk_version() {
local sdk_name=$1
local framework_path=$2
if [ -f "$framework_path" ]; then
echo "检查: $sdk_name"
# 尝试从 Info.plist 中提取最低版本
min_version=$(plutil -extract MinimumOSVersion raw "$framework_path" 2>/dev/null)
if [ $? -eq 0 ] && [ -n "$min_version" ]; then
major_version=$(echo "$min_version" | cut -d. -f1)
if [ "$major_version" -le 12 ]; then
echo -e " ${GREEN}${NC} 最低版本: iOS $min_version (支持 iOS 12)"
elif [ "$major_version" -eq 13 ]; then
echo -e " ${YELLOW}${NC} 最低版本: iOS $min_version (不支持 iOS 12)"
else
echo -e " ${RED}${NC} 最低版本: iOS $min_version (不支持 iOS 12/13)"
fi
else
echo -e " ${YELLOW}?${NC} 无法确定最低版本"
fi
else
echo -e " ${YELLOW}?${NC} 未找到: $sdk_name"
fi
echo ""
}
# 检查各个广告 SDK
echo "检查 TopOn SDK:"
check_sdk_version "AnyThinkSDK" "$PROJECT_DIR/Pods/TPNiOS/core/AnyThinkSDK.xcframework/Info.plist"
echo "检查 IronSource SDK:"
check_sdk_version "IronSource" "$PROJECT_DIR/Pods/IronSourceSDK/IronSource/IronSource.xcframework/Info.plist"
echo "检查 Vungle SDK:"
if [ -d "$PROJECT_DIR/Pods/VungleAds" ]; then
check_sdk_version "VungleAds" "$PROJECT_DIR/Pods/VungleAds/static/VungleAds.xcframework/Info.plist"
fi
echo "检查 UnityAds SDK:"
if [ -d "$PROJECT_DIR/Pods/UnityAds" ]; then
check_sdk_version "UnityAds" "$PROJECT_DIR/Pods/UnityAds/UnityAds.xcframework/Info.plist"
fi
echo "检查 AppLovin SDK:"
if [ -d "$PROJECT_DIR/Pods/AppLovinSDK" ]; then
check_sdk_version "AppLovinSDK" "$PROJECT_DIR/Pods/AppLovinSDK/applovin-ios-sdk-13.5.0/AppLovinSDK.xcframework/Info.plist"
fi
echo "检查 Pangle SDK:"
if [ -d "$PROJECT_DIR/Pods/Ads-Global" ]; then
check_sdk_version "PAGAdSDK" "$PROJECT_DIR/Pods/Ads-Global/SDK/PAGAdSDK.xcframework/Info.plist"
fi
echo ""
echo "======================================"
echo "3. 检查 Podfile 中的平台设置..."
echo "======================================"
if [ -f "$PROJECT_DIR/Podfile" ]; then
platform_line=$(grep "platform :ios" "$PROJECT_DIR/Podfile" | grep -v "^#")
if [ -n "$platform_line" ]; then
echo -e "${GREEN}${NC} 找到平台设置: $platform_line"
else
echo -e "${YELLOW}${NC} Podfile 中未设置 platform 版本(已被注释或不存在)"
fi
else
echo -e "${RED}${NC} 未找到 Podfile"
fi
echo ""
echo "======================================"
echo "4. 检查项目的 Deployment Target..."
echo "======================================"
if [ -f "$PROJECT_DIR/PlayBTopOn.xcodeproj/project.pbxproj" ]; then
deployment_target=$(grep "IPHONEOS_DEPLOYMENT_TARGET" "$PROJECT_DIR/PlayBTopOn.xcodeproj/project.pbxproj" | head -1 | grep -o "[0-9.]*" | head -1)
if [ -n "$deployment_target" ]; then
major=$(echo "$deployment_target" | cut -d. -f1)
if [ "$major" -le 12 ]; then
echo -e "${GREEN}${NC} 项目 Deployment Target: iOS $deployment_target"
else
echo -e "${YELLOW}${NC} 项目 Deployment Target: iOS $deployment_target (高于 iOS 12)"
fi
else
echo -e "${YELLOW}?${NC} 无法确定 Deployment Target"
fi
else
echo -e "${RED}${NC} 未找到项目文件"
fi
echo ""
echo "======================================"
echo "建议"
echo "======================================"
echo ""
echo "如果某个 SDK 的最低版本高于 iOS 12"
echo ""
echo "方案 1: 将项目的最低版本提高到 iOS 13"
echo " - 修改 Podfile: platform :ios, '13.0'"
echo " - 运行: pod install"
echo " - 在 Xcode 中设置 Deployment Target 为 13.0"
echo ""
echo "方案 2: 降级到支持 iOS 12 的 SDK 版本"
echo " - 查看 SDK 的版本历史文档"
echo " - 在 Podfile 中指定旧版本号"
echo " - 运行: pod install"
echo ""
echo "方案 3: 移除不兼容的 SDK"
echo " - 在 Podfile 中注释掉对应的 pod"
echo " - 运行: pod install"
echo ""
echo "======================================"
echo "接下来的步骤"
echo "======================================"
echo ""
echo "1. 运行 'pod install' 应用 Podfile 的更改"
echo "2. 在 Xcode 中设置 AppTrackingTransparency 为 Optional"
echo "3. 清理并重新编译项目"
echo "4. 查看控制台日志,定位崩溃点"
echo ""
echo "详细步骤请参考: DEBUG_CRASH_GUIDE.md"
echo ""