当你发现一个很不错的app,如果要钱那就要花钱买,如果该app上架了App store,你也可以用同步助手免费安装。可是如果这个app没有上架App store,而你又不想越狱,或者你装的iOS系统版本不支持越狱,那怎么办。当然方法还是有的,那就是弄到app的ipa文件(网上下载呗),使用开发者证书重新签名iPA文件,不过这可能要找iOS开发同学给你搞哦 ^_^



其实iPA文件就是zip文件,只是后缀不同而已。要重签名,我们需要准备证书与provision profile, 证书直接在Keychian里管理,provision profile与证书是对应关系。



下面直接说步骤:

a.解压iPA文件

b.删掉旧的签名文件

c.拷贝新的provision profile替换旧的embedded.mobileprovision

d.用codesign命令重签名

f.重新zip为iPA文件


可见如下脚本:

#!/bin/sh
if ! ([ -f "$1" ]); then
echo \"${1}\"文件不存在
exit
fi
ipaName=${1%.ipa}
if [ "$ipaName" = "$1" ]; then
echo \"${1}\"不是ipa文件
exit
fi## step 1, unzip ipa file
unzip ${ipaName}.ipa## step 2, remove old codesign
rm -rf Payload/*.app/_CodeSignature/## step 3, copy new provision profile
cp 123.mobileprovision Payload/*.app/embedded.mobileprovision## step 4, codesign with new certificate and provision
(/usr/bin/codesign -f -s "iPhone Developer: XXXXX (XXX)" --resource-rules SDKPATH/ResourceRules.plist Payload/*.app/) || {
## if code sign error, will to here
echo failed
rm -rf Payload/
exit
}## step 5, zip it
zip -r ${ipaName}New.ipa Payload/
rm -rf Payload/

需要注意脚本中有几处需要你们手动修改。
第一处是123.mobileprovision改成你自己的,这个文件需要与脚本放同一目录。比如我的是iOSTeam_Provisioning_Profile_.mobileprovision
第二处是XXXXX (XXX), 这儿XXX改为你keychian里有的证书。比如我的是iPhone Developer: Yang Luo (KY4C7TK8DX)
第三处是SDKPATH,这是你的sdk路径,可使用如下命令获取

 xcodebuild -version -sdk macosx10.10

10.10改成你自己MacOS的版本。比如我的路径是/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform

用法

保存并修改上面的脚本为ipaResign.sh,再将需要重签名的xxx.ipa与xxx.mobileprovision文件置于同一目录。然后运行命令:

chmod 777 ipaResign.sh
./ipaResign.sh xxx.ipa

最后将生成的xxxNew.ipa直接用同步助手,itools,ifunbox或者pp助手之类的软件安装到手机即可。当然你的手机也必须用此开发证书签名过。

我测试的例子是三国群英传这个经典游戏,开发者未在App store 发布过,所以只能越狱或者通过此文的方法安装(*^__^*)
ipa文件下载地址:http://app.tongbu.com/10006301_sanguoqunyingchuan2(yizhiban).html

评论文章 (0)

如何用未越狱手机安装ipa文件相关推荐

  1. 如何用未越狱手机安装ipa文件(更新版)

    前言 之前写过一篇非越狱手机安装ipa包的方法,然而现在已经不能用了,不仅会报警告"–resource-rules has been deprecated in Mac OS X >= ...

  2. 未越狱设备 安装ipa

    最近因客户想要在真机上看Demo的效果,而客户又在外地,设备又未越狱.所以就研究了下不越狱安装ipa.经过几天的查阅资料与研究,发现苹果原来提供了一种工具( iPhone配置实用工具).我用这个工具的 ...

  3. PP助手安装ipa文件显示Install Prohibited安装失败解决办法

    今天使用PP助手给别人的iPhone手机安装ipa文件,显示"Install Prohibited"安装失败 检查有没有关闭"通用--设置--访问限制--安装应用程序&q ...

  4. 苹果无需越狱了!通过苹果签名轻松安装IPA文件

    很多朋友会有类似的疑问,不上架app store应用商店的情况下,如何把ipa文件安装到苹果手机上?其实很简单,有需要通过PC端进行操作的安装方式也有仅通过手机端就可以完成安装的操作. 上架App S ...

  5. ipa文件怎么安装到iphone_无视签名随意安装 IPA 文件

    今天要分享的内容依然是和签名有关的,只不过今天的内容适用于已经越狱的用户,只有在越狱以后才能实现我标题中的效果.名称:AppSync Unified软件源:https://cydia.akemi.ai ...

  6. ios 隔空投安装ipa_ipa文件是什么?怎么安装ipa文件到苹果手机上?

    近期有多人咨询咔叽一个问题 "iphone中的ipa文件如何安装到苹果手机上?",都知道安装到手机上的是App,那ipa文件又是什么呢?下面就来讲解一下关于ipa文件的相关内容. ...

  7. iTunes 安装ipa文件到iPhone上

    iTunes 安装ipa文件到iPhone上 把ipa文件拖到itunes里面. ipa(iPhoneApplication) 菜单 File>Add File to Library>Se ...

  8. pythonista安卓版下载-使用Pythonista 脚本,手机端轻松安装ipa文件

    在手机端安装ipa 文件是件不容易的事情,无论是临时应急,还是习惯所需,安装ipa 对很多朋友来说是一个很实用的功能. 今天给大家推荐一个Pythonista 脚本IPA Installer,无需电脑 ...

  9. ipa文件是什么?怎么安装ipa文件到苹果手机上?

    ipa文件是什么? ipa文件的实质是一个zip压缩包,也就是一个苹果应用文件,简称ipa文件,该文件在进行了ios签名后可以在App未上架App Store的情况下将应用下载到苹果手机上. 怎么安装 ...

最新文章

  1. Ubuntu16下安装kaldi(使用物理主机)
  2. RISC-V浪潮来袭!115页PPT超详论述,如何与ARM争锋!(一)
  3. Linux下sar命令的使用
  4. 使用C#中的ref关键字,用2个简单例子来说明
  5. 【Flutter】Flutter 拍照示例 ( 拍照并获取照片源码示例 | image_picker: ^0.5.2 版本 )
  6. 从JS对象开始,谈一谈“不可变数据”和函数式编程
  7. 解决h5py\_init_.py:26:FutureWarning: Conversion of the second argument of issubdtype from `float`^……
  8. Nodejs in Visual Studio Code 03.学习Express
  9. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(二)
  10. Android添加单元测试的方法与步骤
  11. 【第十六章】模板实参推断
  12. php-fpm哪里下载_centos – Nginx PHP-FPM提供.php文件作为下载
  13. VS2005的类设计器(Class Designer)中,如果显示让类继承接口,而不是实现接口?
  14. CentOS安装MySQL及其使用(总结整理)
  15. 如何用JAVAC一次性编译多个包下的JAVA文件 ;JAVA和JAVAC 命令行;java 带有包名编译并运行,附带外部依赖jar包运行
  16. ps读写ddr3里面的数据 zynq_ZYNQ应该如何让PS端的opencv程序读取到ddr中的图像数据...
  17. 标签打印机ESC光栅位图打印指令
  18. 开通微信小店显示:系统繁忙,请稍后再试怎么回事?如何解决?
  19. daterangepicker 清空_Date Range Picker 中文网
  20. 8086汇编(7、80x25彩色缓冲区)

热门文章

  1. Python Resource
  2. Java编程----函数
  3. FLASH知识及读写擦除规则
  4. STM32 keyboard USB HID键盘功能的实现
  5. CUDA学习(二)-NVCC的编译过程及命令
  6. DataGridView获取当前选中的行与列的值
  7. ULONG_PTR与ULONG
  8. Matlab中的两种除法
  9. Linux磁盘扩容的操作
  10. PHP无限极分类两种写法