一、处理流程
1、按照下述 “二、U素材修改 三、工程修改” 说明修改工程,打包游戏ipa
2、提交处理
3、用bundle id对应的证书,对【framework、entitlements】重签名,测试;
重签名时注意对项目内引用过的全部framework、entitlements进行签名,签名方法为:
codesign -f -s " c e r t f i e r N a m e " P a y l o a d / certfierName" Payload/ certfierName"Payload/{ipaName}.app/Frameworks/xxx.framework/xxx
其中certfierName为签名证书,替换成签名时使用的证书即可;xxx为framework名称,解开ipa可以查看到,如果有多个framework,则需要分别签名;
或者直接使用shell脚本签名工具:./resign.sh xxx.ipa,修改版本号并签名:./resign.sh xxx.ipa 1.2.3
4、按照下述 “四、提审注意事项”提测
二、UI素材修改
1、至少修改以下几个游戏界面【游戏登录界面、游戏进度条加载等待界面,游戏商品购买界面】,如替换资源图片或者修改界面布局、配色等,其他界面如能修改能提高过审率;
2、app icon要换全新的发行商马甲包的icon,素材不能跟其他马甲包有类似;
3、移除多余没用的图片资源文件
4、修改AppStore截图,五张图,要做个全新的,图片素材不能跟其他马甲包一样。
5、AppStore的那个内购选项列表,商品名、图片,图片需要换新的不同的游戏购买界面截图
三、工程代码修改
1、移除代码中所有第三方支付SDK,如weixin支付,alipay等支付sdk,包括资源文件、plist里面的配置等;
全局搜索,游戏自定义的类、方法、变量、注释等命名中的pay、order、alipay、阿里、wechat、weixin、微信、zhifu、支付、chongzhi、充值、buy 等;
2、加密或修改敏感字符串,如H5支付的url;
第三方支付全部走H5支付方式,H5调起app第三方支付;
3、修改Xcode工程app名称(同一游戏的不同渠道包之间,app名称不要有任何相同字词,一个字相同都不行;
修改bundle id,用全新的苹果开发者证书的bundle id;
移除plist里面的充值白名单;
移除多余无用的资源文件;
4、使用脚本,对工程,全部类名添加"Tuling_"类名前缀
5、使用脚本,对工程,全部的方法名前缀,改成“Tuling_”,部分方法,需要手动去改,除了改前缀,方法名都要适当改30-40%
6、【必须、重要】处理项目中的图片(.xcassets 、图片资源)资源,更改hash值、换图片名
(1)更改图片hash值【必须重要】
使用 ImageMagick 对 png 图片做轻量压缩,及不损失图片质量,又可改变图片文件 hash 值。方法:
安装 ImageMagick,brew install imagemagick
压缩工程目录下所有 png 文件,find . -iname “*.png” -exec echo {} ; -exec convert {} {} ;
(2)手动对图片名字进行改名操作,80%的图片要换名字【必须重要】
7、使用脚本,增加混淆无用代码,并且无用代码需要在真实代码中调用(1-99的混淆力度,一般设置60-70);
8、打包ipa时要断开网络,防止被apple标记;
9、使用正式的bundle id打包;
10、SDK的域名需要1-2个月换一次,SDK服务器也是需要定期更换
11、脚本参考(批量话改类名、方法前缀、项目名,或者自己用python脚本进行对xcode代码批量化处理)
https://github.com/klaus01/KLGenerateSpamCode
https://github.com/JourneyYoung/iOSMixProject
四、提审注意事项
1、同一个游戏的不同渠道包不要使用相同的帐号和电脑提审,一个渠道包只对应一个苹果账号;
提包设备和ID,不能重复太多次
2、马甲包主标题不能有重复字眼,主副标题全部用全新的
例如:
主包的主标题叫【阴阳师周年庆-正当少年时】,马甲包的主标题,“阴阳师周年庆-正当少年时”这几个字眼都不能出现,一个字都不能重复
副标题【白藏主、少羽大天狗降临】,马甲包的副标题,“白藏主、少羽大天狗降临”这几个字眼都不能出现,一个字都不能重复
3、马甲包首次提审,尽量不要设置副标题,关键词少一些,先过审,过深厚可以再走更新包重新配置详细的副标题、关键词
4、马甲包描述、功能介绍等尽量不要有重复,要用一套全新的描述,不能被检测到有50%的字样相同
5、修改https://appstoreconnect.apple.com中的苹果内购,IAP中的产品id、名称、描述等;马甲包这结果选项,要跟主包完全不一样,最好是有一套自己的马甲包的说辞手法,跟其他的马甲包能尽量区分开,让AppStore机审过程检测不到相同。IAP的商品图片要全新的不一样的
例如:
商品id:com.tulinggame.fylj.pay6
名称:60元宝
描述:你将会花费6元人民币获得60元宝
6、尽量在凌晨1点后提审(即apple审核中心上班时间),能加快提神速度;
7、错开同一个主包游戏,本公司马甲包跟其他公司马甲包的提审时间
8、尽量使用不同的ip申请帐号、提审;
9、修改https://appstoreconnect.apple.com中,新的游戏icon,新的五张游戏截图;
10、AppStroe提审时,一定要采用苹果内购支付,需要在账号栏提供沙盒测试账号。SDK后台要控制,提审版本的游戏version是一定要走苹果内购支付
11、马甲包提审,要采用【手动发布】的方式,过审后,一般马甲包是需要等CP开服成功之后,发行商才能自己手动放出来给人下载的,不然会出问题
12、提交处理的bundle id必须是正式的bundle id,处理后不可修改;
13、提交马甲包审核前,先wifi路由器,再做提审提包操作
14、升级xcode至9.0以上(苹果提审要求)
本文转载:https://shimo.im/docs/hTPLktfTcfIPMPDl/read