Mac OS 升级到10.13后,iTunes 没有了应用程序,导致不能把 build 出来的 .app 文件通过拖动到 iTunes 的方式转成 .ipa 包了,后来找到了一个更简单的方法,直接跑一个脚本即可。

创建一个名字叫 convertToIpa.sh 的脚本,脚本内容如下

#!/bin/bash

# 检查参数是否为空
if [ -z "$1" ]; then
  echo "Usage: $0 <name>"
  exit 1
fi

# 获取参数
nameTemp="$1"

# 检查是否以 .app 结尾
if [[ "$nameTemp" == *.app ]]; then
  # 删除 .app 后缀
  name="${nameTemp%.app}"
  echo "Removed .app suffix: $name"
elif [[ "$nameTemp" == *.app/ ]]; then
  # 删除 .app 后缀
  name="${nameTemp%.app/}"
  echo "Removed .app/ suffix: $name"
else 
  name="$nameTemp"
fi

echo $name

rm -rf $name
mkdir $name
mkdir $name/Payload
cp -r $name.app $name/Payload/$name.app
cp Icon.png $name/iTunesArtwork
cd $name
zip -r $name.ipa Payload iTunesArtwork

exit 0

将要转化的.app文件放到 convertToIpa.sh 同目录之中

运行 convertToIpa.sh 脚本

打开 Terminal,cd 到 convertToIpa.sh 的目录,执行

./convertToIpa.sh appName(.app 的名字)

如果提示 permission denied,则用 chmod 777 convertToIpa.sh

命令赋予权限后,再执行一次。

等脚本之行结束后,会在当前文件夹下生成 appName 文件夹,里面的 appName.ipa 就是我们最终想要的包。