今天运营同事要求把已经上架到appStore,上传到同步推市场(tui.tongbu.com),在使用过程,感觉是无从下手,官方上没有任何文档,问客服也是爱搭不理,给他们提个建议也是很差的态度,来了句我们不支持。上传到同步推应用市场要的ipa文件必须是破解的,下面就来说下,也是记录下自己在使用过程遇到的些问题。

一、准备工作

系统OS X  Yosemite 10.10,Xcode6.1 ,越狱设备一台

二、破解Xocde

1.伪造签名证书:

打开实用工具-钥匙串访问。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导。必须要把名称命名为iPhone Developer,将类型设定为代码签名,将"让我覆盖这些默认值"选中。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以!

2.修改Xcode配制文件

1)修改SDKsettings.plist文件

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/

打开SDKSettings.plist文件,把CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED的值改成NO。图如下:

2)修改Info.plist文件

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/

打开该目录下的Info.plist文件,右击--Add Row,增加两项:

PROVISIONING_PROFILE_ALLOWED 值为 NO

PROVISIONING_PROFILE_REQUIRED 值为 NO

3)将上面Info.plist文件中的 "XCiPhoneOSCodeSignContext" 替换成"XCCodeSignContext"(共3处)

3.设置gen_entitlements.py脚本

在命令终端中执行如下命令:

mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements

/* 在 /Applications/Xcode.app/Contents/Developer/ 目录下创建一个 名为iphoneentitlements的目录*/

cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements

/* 进入刚刚创建的iphoneentitlements目录*/

curl -O http://www.bobzy.cn/xcode/gen_entitlements.txt

/* 把gen_entitlements.txt放到刚创建的iphoneentitlements目录,gen_entitlements.txt如下

#!/usr/bin/env pythonimport sys
import structif len(sys.argv) != 3:print "Usage: %s appname dest_file.xcent" % sys.argv[0]sys.exit(-1)APPNAME = sys.argv[1]
DEST = sys.argv[2]if not DEST.endswith('.xml') and not DEST.endswith('.xcent'):print "Dest must be .xml (for ldid) or .xcent (for codesign)"sys.exit(-1)entitlements = """
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>application-identifier</key><string>%s</string><key>get-task-allow</key><true/>
</dict>
</plist>
""" % APPNAMEf = open(DEST,'w')
if DEST.endswith('.xcent'):f.write("\xfa\xde\x71\x71")f.write(struct.pack('>L', len(entitlements) + 8))
f.write(entitlements)
f.close()

*/

mv gen_entitlements.txt gen_entitlements.py

/*重命名刚刚下载的文件,命名为gen_entitlements.py*/

sudo chmod 777 gen_entitlements.py

/* 修改这个文件的权限,加上任意人可执行(此处要求你输入系统账号密码)*/

4. 修改项目属性 (每次新建项目都要执行)

1)点击TARGETS项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"Don't Code Sign"

2)点击Project项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"iPhone Developer"

3)点击TARGETS项目图标, 切换到Build Phases选项,点击Editor – Add Build Phase – Add Run Script Build Phase,然后输入以下脚本:

export CODESIGN_ALLOCATE=/Applications/Xcode副本.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then /Applications/Xcode副本.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "</span><span style="font-family: 'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53;font-size:12px; line-height: 22.75px; background-color: rgb(255, 255, 255);">my.company</span><span style="background-color: rgb(255, 255, 255);">.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/";
fi

注意:my.company.${PROJECT_NAME} 替换为自己项目的Bundle Identifier。

5. 连接设备调试打包

 先将代码生成为Release,调试这里不多介绍了,主要介绍下打包ipa。
product -->Archive
拖放到itunes中,在show in Finder就可以看到ipa了,保存到自己想到的位置,至此工作都已完成,到同步推上传即可。

在使用过程中遇到的问题:

Add Run Script Build Phase:这里要注意if then前后的路径要保持一致,我只修改了前面没有注意then后面的,就会有错误提示。

Command /bin/sh failed with exit code 1:这是由于有2个一样的密钥造成的,删除一个就OK了。

同步推上传破解ipa方法相关推荐

  1. 如何向天翼云服务器上传文件,天翼云储存上传文件的方法

    也许您总是担心电脑里的重要资料会因为电脑故障而意外丢失?也许您总是为了保存文件,用U盘拷贝的同时还发送一份邮件给自己?也许您总是苦恼于相片太多,手机内存空间不够用?立刻开始使用天翼云,一切将迎刃而解! ...

  2. php post 文件,PHP响应post请求上传文件的方法_php技巧

    本文实例讲述了PHP响应post请求上传文件的方法.分享给大家供大家参考,具体如下: function send_file($url, $post = '', $file = '') { $eol = ...

  3. jquery ajax java上传文件_jQuery Ajax方式上传文件的方法

    jQuery Ajax方式上传文件用到两个对象 第一个对象:FormData 第二个对象:XMLHttpRequest 目前新版的Firefox 与 Chrome 等支持HTML5的浏览器完美的支持这 ...

  4. java修改文件的大小限制_Struts2修改上传文件大小限制方法解析

    首先struts上传最大大小由两个地方决定. struts.multipart.maxSize决定整个post的form最大是多大,所以这个限制是最初的.默认大小是接近2M,在struts的defau ...

  5. sftp命令上传本地文件到服务器,使用sftp命令上传文件夹方法

    使用sftp命令上传文件夹方法 发布时间:2020-08-05 02:24:03 来源:ITPUB博客 阅读:138 作者:ouyida3 # 前言 sftp上传单个文件使用put,多个文件可使用mp ...

  6. 大文件上传的解决方法

    大文件上传的解决方法 一.使用分片上传的方法 二.进度条使用浏览器XMLHttpRequest的onprogress方法对进度进行监视 三.断点续传核心方法:通过xhr的abort方法,主动放弃当前请 ...

  7. 上传了ipa但iTunes Connect没有构建版本问题

    AU上传ipa出现下图红框提示说明成功上传,如果App Store后台没有出现构建版本, 请登录 apple账号对应的邮箱查看反馈,特别留意垃圾邮箱,无论成功还是失败,apple都会发邮件 一.首先登 ...

  8. xshell怎么往linux系统上传文件,xshell怎么连接linux xshell上传文件的方法

    匿名用户 1级 2016-04-29 回答 1.保证linux下ssh开启(默认开启) # netstat -tupln |grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* ...

  9. 淘宝店铺上新图片上传获取请求方法

    淘宝上新图片上传获取请求方法如下: 1.请求方法:POST [支持高并发同时请求] 点击获取请求key和secret Headers: 参数名称 参数值 是否必须 示例 备注 Content-Type ...

最新文章

  1. The bean 'xxxx.FeignClientSpecification', defined in null, could not be registered. A bean with that
  2. 【异常】redis.clients.jedis.exceptions.JedisDataException: ERR unknown command ‘PSETEX‘
  3. 加减法叫做什么运算_期中备考:数学运算定律、法则与顺序
  4. centos7搭建nexus
  5. SAP Spartacus Storefront页面的page layout config
  6. 【图像处理】——Python实现图像特征提取BP神经网络实现图像二分类
  7. 隔离区别对待?如何捆绑?Java中的jdbc数据库事务及其隔离级别
  8. 一文读懂 IPv4 到 IPv6 的过渡技术
  9. socket编程五种模型
  10. docker 安装 sqlserver 数据库
  11. 页面显示问题用layer插件
  12. 使用so动态链接库g++正确,gcc undefined reference错误
  13. Jhipster创建微服务【0】——踩坑
  14. 电脑同时上内外网——设置教程(附内外网优先级设置)
  15. Unity 3D的常用快捷键
  16. opencv证件照变更任意底色
  17. 【LEACH协议】基于matlab实现无线传感器网络LEACH与DEEC协议
  18. 网络安全:为大家介绍5种常见的加密算法
  19. 多台电脑共享键盘鼠标
  20. [Windows] 获取设备唯一标识

热门文章

  1. 为什么天才容易患阅读障碍症_一个阅读障碍患者,是怎样成为优秀律师的?
  2. 圆盘自动机 cell
  3. php网站留言,php实现网站留言板功能,php实现留言板_PHP教程
  4. app创意_7个简单的App营销创意
  5. 黑鲨会升级鸿蒙吗,别再被噱头忽悠了,红魔6、黑鲨4究竟如何选?
  6. 谷歌浏览器无法正常更新:无法启动更新检查(错误代码为 3: 0x80040154)
  7. 海豚php 上传图片,自定义分片上传字段
  8. 不使用canvas怎么实现一个刮刮卡效果?
  9. 「Bug」OpenCV读取图像为 None 分析
  10. 加薪——爱你在心口难开 1