iOS脚本打包 ipa(.app转.ipa)

公開日: 2018-04-18 05:08 280文字 2 min read

前端项目通过bridge获取客户端资源,客户端直接返回response对象为 UIControl 实现线程安全的 Block 事件扩展:原理与实践高数概念、公式、定理常用代码模板2——数据结构常用代码模板1——基础算法iOS:特殊符号大全SwiftUI基本控件《什么是数学 》习题 第一章 补充《什么是数学 》习题 第一章 2 数系的无限性 数学归纳法《什么是数学 》习题 第一章 1 整数的计算LeetCode 70 爬楼梯(青蛙跳台阶)Swift Module 如何被全局引用LeetCode 398 随机数索引Vue 的一些指令和缩写LeetCode 486 Predict the Winner(预测赢家)浅谈iOS中的weakCocoaPods组件化——OC/Swift动静态库混用当对象接收到不能处理的消息时调用的方法iOS:如何在UITableView调用reloadData刷新结束后再同步执行后续操作统计iOS工程代码行数LeetCode 6 ZigZag Conversion(Z字转换)LeetCode 106 Construct Binary Tree from Inorder and Postorder Traversal(由中序和后序遍历建立二叉树)LeetCode 5 Longest Palindromic Substring(最长回文字串)LeetCode 8 String to Integer (atoi)Objective-C Type EncodingsObjective-C:为什么分类中不能直接添加属性数据结构与算法解析习题2.23数据结构与算法解析习题2.19数据结构与算法解析习题2.16数据结构与算法解析习题2.14数据结构与算法解析习题2.13数据结构与算法解析习题2.12数据结构与算法解析习题2.11:二分查找数据结构与算法解析习题2.10:霍纳法则(Horner's rule)数据结构与算法解析习题2.7数据结构与算法解析习题1.3数据结构与算法解析习题1.2数据结构与算法解析习题1.1UIButton扩大点击范围以及关于响应者链条的思考UILabel中文带行间距的处理,限制行数,计算高度等UITableview调用reload方法时抖动问题iOS 截取整个 scrollview 图片objc源码分析-runtime-classiOS自动化埋点的实现iOS平台编译Ogre游戏引擎库iPhone 刘海机型UI适配(X、Xs、Xs Max、Xr)iOS 沙盒与 BundleCOCOAPODS技巧-创建私有仓库iOS脚本打包 ipa(.app转.ipa)Objective-C 中禁止调用指定的方法iOS 关于 UITextField 的字数限制iOS 框架学习-AsyncSocketOC优缺点以及常见bugUIViewController 的生命周期runtime——运行时简单使用iPhone6 Plus上面神秘的缝隙UIApplicationiOS 网络小结NSString的各种处理OC中nil 、NULL、 Nil 、NSNull的区别iOS常用数据类型转换关于NSNotificationCenterDescription方法和NSLog函数OC单例宏Block in Objective-CObjective-C 语法 3Objective-C 语法 2Objective-C 语法 1
この投稿は「日本語」では表示できません。元の投稿を表示しています。
Mac OS 升级到10.13后,iTunes 没有了应用程序,导致不能把 build 出来的 .app 文件通过拖动到 iTunes 的方式转成 .ipa 包了,后来找到了一个更简单的方法,直接跑一个脚本即可。 创建一个名字叫 convertToIpa.sh 的脚本,脚本内容如下

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 就是我们最终想要的包。