|
|
|
# 使用前注意: 需要先将主项目和lovenote-flutter放到同一路径下
|
|
|
|
SOURCE_DIR="./SDK/iOS_SDK"
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# 目标目录,绝对路径
|
|
|
|
TARGET_DIR="../hippo/PodLocal/Flutter/SDK"
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
# 检查目标目录是否存在
|
|
|
|
if [ -d "$TARGET_DIR" ]; then
|
|
|
|
echo "目标目录已存在,正在替换..."
|
|
|
|
rm -rf "$TARGET_DIR"
|
|
|
|
# 使用前注意:doublefeel_flutter 和 hippo 需要位于同一目录下。
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
SOURCE_SDK_DIR="$SCRIPT_DIR/SDK/iOS_SDK"
|
|
|
|
SOURCE_RUNNER_DIR="$SCRIPT_DIR/ios/Runner"
|
|
|
|
|
|
|
|
HIPPO_PROJECT_DIR="$SCRIPT_DIR/../hippo/hippo"
|
|
|
|
TARGET_SDK_DIR="$SCRIPT_DIR/../hippo/PodLocal/Flutter/SDK"
|
|
|
|
TARGET_PIGEON_DIR="$HIPPO_PROJECT_DIR/Pigeon"
|
|
|
|
|
|
|
|
if [ ! -d "$SOURCE_SDK_DIR" ]; then
|
|
|
|
echo "iOS SDK目录不存在:$SOURCE_SDK_DIR"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d "$HIPPO_PROJECT_DIR" ]; then
|
|
|
|
echo "hippo项目目录不存在:$HIPPO_PROJECT_DIR"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d "$TARGET_SDK_DIR" ]; then
|
|
|
|
echo "目标SDK目录已存在,正在替换..."
|
|
|
|
rm -rf "$TARGET_SDK_DIR"
|
|
|
|
else
|
|
|
|
echo "目标目录不存在,正在新增..."
|
|
|
|
echo "目标SDK目录不存在,正在新增..."
|
|
|
|
fi
|
|
|
|
|
|
|
|
# 复制源目录到目标目录
|
|
|
|
cp -r "$SOURCE_DIR" "$TARGET_DIR"
|
|
|
|
mkdir -p "$(dirname "$TARGET_SDK_DIR")" "$TARGET_PIGEON_DIR"
|
|
|
|
cp -R "$SOURCE_SDK_DIR" "$TARGET_SDK_DIR"
|
|
|
|
|
|
|
|
echo "正在复制GeneratedPluginRegistrant文件..."
|
|
|
|
cp -f \
|
|
|
|
"$SOURCE_RUNNER_DIR/GeneratedPluginRegistrant.h" \
|
|
|
|
"$SOURCE_RUNNER_DIR/GeneratedPluginRegistrant.m" \
|
|
|
|
"$HIPPO_PROJECT_DIR/"
|
|
|
|
|
|
|
|
echo "正在复制Pigeon Api文件..."
|
|
|
|
pigeon_api_files=("$SOURCE_RUNNER_DIR"/Pigeon/*Api.swift)
|
|
|
|
if [ ! -e "${pigeon_api_files[0]}" ]; then
|
|
|
|
echo "未找到Pigeon Api文件:$SOURCE_RUNNER_DIR/Pigeon/*Api.swift"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
cp -f "${pigeon_api_files[@]}" "$TARGET_PIGEON_DIR/"
|
|
|
|
|
|
|
|
echo "操作完成。" |
...
|
...
|
|