同步推上传破解ipa方法

今天运营同事要求把已经上架到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 python

import sys
import struct

if 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>
""" % APPNAME

f = 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了。

时间: 2024-11-06 13:29:56

同步推上传破解ipa方法的相关文章

umeditor1.2.2 jsp版本更改图片上传路径的方法

最近在做一个bbs项目,需要一个轻量级的编辑器,看过来看过去,都是百度编辑器挺好看的 怎么部署百度编辑器我就只截取部分图片,关键是更改图片上传路径的方法 这是部署百度编辑器需要的引入的js文件,目录要对应 在网页需要编辑器的地方添加这段代码,写好样式表,直接要class引入,编辑器的长宽就会自适应,后面的内容会在百度编辑器初始化后自动填写在百度编辑器中, 你可以试一下,name属性是后台接受表单提交是获取内容时使用的字段 UM.getEditor("myEditor");这句是初始化百

FlashFXP、LeapFTP、CuteFTP 等FTP软件二进制上传或下载方法

今年用FlashFXP学习上传空间数据时遇到了需要用“用二进制上传”的要求,上网搜索了一下,居然得到了答案,哈哈,高兴!!    与大家分享! 二进制几种常见的FTP软件的二进制上传设置方法:1.FlashFXP2.LeapFTP3.CuteFTP 关于FlashFXP的使用: FlashFXP:在工具栏中,选项->参数(或者按F6键),在弹出来的窗口中,选择“传输(T)”卡,在传输模式中选择“二进制”.另外注意要点击选项->筛选->将.php格式删除.第二点非常重要,很多介绍都没有提到

asp.net中fileupload上传文件的方法

FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器.用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\test.txt)来指定要上载的文件.用户也可以通过单击“浏览”按钮,然后在“选择文件”对话框中定位文件来选择文件. 用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器.您必须显式提供一个控件或机制,使用户能提交指定的文件.例如,可以提供一个按钮,用户单击它即可上载文件

IE input file隐藏不能上传文件解决方法

当大神们都在探讨更深层次的问题时,我还在这里转载发些肤浅的问题解决方案.罢了,为了和我一样笨的后来人. 问题: 上传文件时,用<input type="file" />标签,但是默认的file标签很难看,而且每个浏览器下都有很大差距. 1.一般解决办法: 我们基本都把真正的file标签给隐藏,然后创建一个标签来替代它,比如我们创建一个a标签来替代它,隐藏file标签,单击a标签时触发file标签click弹出选择文件窗口,选择文件之后,触发file的change事件提交.

朋友封装的一个ASP.NET上传文件的方法

自我感觉封装得还不错!!! 代码如下: C#代码   #region 上传文件的方法 /// <summary> /// 上传文件方法 /// </summary> /// <param name="myFileUpload">上传控件ID</param> /// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = 

springmvc文件上传2中方法

基于前面文章的基础上. 一.准备 需要的jar  二.配置 1.  spmvc-servlet.xml <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x

朋友封装的一个ASP.NET上传文件的方法(转)

#region 上传文件的方法 /// <summary> /// 上传文件方法 /// </summary> /// <param name="myFileUpload">上传控件ID</param> /// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = { ".doc", ".

java实现上传下载积分方法

原文:java实现上传下载积分方法 代码下载:http://www.zuidaima.com/share/1550463242472448.htm 类似牛币的加减分数的方法,上传加分,下载减分,下载一样的不加不减. java实现上传下载积分方法

springMVC 获取本地项目路径 以及上传文件的方法整理

String path=request.getSession().getServletContext().getRealPath("upload/img/product"); //二进制上传 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; //获取文件 CommonsMultipartFile fpic=(CommonsMultipartFile) multipa