代码编织梦想

一、什么是马甲包

马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法。马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致。


二、为什么做马甲包,做马甲包有什么好处?

1、导量、刷榜、增加关键字覆盖
一个App的关键字是有限的,马甲包能增加我们的搜索关键词,增加我们的App被用户搜索和下载的几率。一个本身质量过硬的App,马甲包能够帮助我们迅速提升排名。

2、抗风险
一些不确定效果的新功能,我们可以在马甲包上先做测试,效果OK之后,我们再迭代到主App上,这样即使新功能效果不佳也不会影响主App的流量。

图片描述


三、马甲包的开发招式

1、UI部分
在原有的UI的基础上,修改新的UI。
启动图修改,坚决不能和之前的一样。
logo修改,坚决不能和之前的一样。


2、代码部分

修改工程中文件夹名字(全部需要修改)。
修改项目名字。
修改类名,前缀统一的进行统一替换,后缀名也可以根据情况进行修改(view/ViewController/model)。

添加混淆代码,修改之前的方法名,往类中添加不相关的方法(此处建议使用 #pragma mark -(此处是马甲包的特殊标记)进行标记,方便后续修改)。

修改boundID。
在之前App的基础上,增加或者删除部分功能,把两个App之间的差异尽量最大化。


四、上架招式

上架马甲包,最好是准备一个新的账号,不要影响主App,防止账号被封或者处罚影响主App的正常下载。
上架的时候项目描述不要和主App的一样。
项目宣传也不要和主App的一样。
提供给苹果的测试账号也提供新的。
上传马甲包的电脑,不要和上传主App使用同一台电脑(据说会检测上传包的ip)。


五、总结

马甲包本身是不符合苹果的上架规范的,但是为了让更多的用户下载我们的App,提升我们App的排名,我们不得不想尽办法制作马甲包,顶风作案。开发马甲包我们主要从UI展现和代码实现尽量的把它们做的不像相同的App,但是它们的核心内容是相似的,用户流量最终流向同相同的服务器,实现导量和提升排名的功效。

我们在上架马甲包的时候还要尽量保证主App的安全,所以使用单独的账号上架马甲包,为了提高过审率,还要使用不同的电脑进行包的上传。项目描述&产品宣传等等都不能一样,就是尽量做成两个App,但是呢周期又要短。

最后,马甲包只是一个辅助,我们的App本身一定要有内容,这样才能够留住用户,否则就算用户下载了,很快也会卸载。导致“留住了用户的人,没有留住用户的心”,只留下了用户信息,不能为我们带来实质性的价值。

参考文章

iOS马甲包上架总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/zengfengfengfeng/article/details/111039591

dart学习笔记(一)-爱代码爱编程

可迭代的集合 一些基础知识 与java类似,dart也支持List(有序可重复),set(无序不可重复)和map(双列集合). Iterable类是集合的父类,List和set都是Iterable.例如如下代码片段:Iterable<int> iterable = [1, 2, 3];//[1, 2, 3]表示一个List dart中L

Java入门(单例模式)-爱代码爱编程

单例模式 单例模式介绍 由于单例模式只生成一个实例,减少了系统性能开销。当一个对象产生需要比较多的资源时,如读取配置,产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。 单例模式包括饿汉式和懒汉式 总结: 1.刚开始就创建好对象,即为饿汉式 2.用的时候再进行创建,则为懒汉式区别: 饿汉式-一开始就创

涨薪神作!华为内部操作系统与网络协议笔记爆火,这也太香了吧-爱代码爱编程

前言 对于操作系统可能很多人会觉得:“我又不需要写一个Linux,写一个windows所以我就不需要学习”。这里需要注意的是我们学操作系统不是叫你写一个操作系统的,讲的是资源的调度和分配,以及大型软件的设计。稍微写过一些并行并行的程序,都能体会到这门课的重要性。它介于软件和硬件之间的一个部分,一般意义上认为其重要性介于软硬件之间,不会操作系统,不了解基本

我在乐字节学习的第二天(Java笔记)-爱代码爱编程

我刚开始学习编程的时候,是自学的。那个时候,身边没有可以请教经验的人,所以只能自己去读书,硬着头皮往下看,那时候看书真的就好像在云里雾里一样,想想都头皮发麻。有好多次都想放弃算了,但是转念又一想,是不是每个人在学编程的时候,都是从这种状态过来的?这样一想,所以就…… 我刚开始学习编程的时候,是自学的。那个时候,身边没有可以请教经验的人,所以只能自己去读书

python基础day-04:循环关键字和位运算-爱代码爱编程

文章目录 循环关键字一、continue二、break三、while循环和break四、else4.1 python中完整的for循环4.2 python中完整的while循环 python数据存储一、进制1.1十进制1.2二进制1.3八进制1.4十六进制二、进制的转换2.1其它进制转10进制2.2十进制转其它进制:辗转取余法三、原码、反码和补码3

“树”突然间,看了这篇文章,树我懂了!-爱代码爱编程

树 树是一种非常常用的数据结构,与线性表,堆栈并驾齐驱。 树的定义 树是从自然界抽象出来的,它指的是N个父子节点的有限集合,对于这个有限集合,需要满足如下条件: 当N=0时,该节点集合为空,这棵树也为空在任意非空树中,只能有一个根节点当N>1时,除去跟节点意外的其余节点本身也要集合成为一颗树。 即,树具有递归特性,一棵树是由若干子树组成,每颗

iOS内存相关的知识点整理-爱代码爱编程

一、原起 iOS的内存相关知识是我们开发iOS APP的基石之一,也是面试中必然会问的问题。内存知识的融会贯通,与及内存相关问题的解决,是iOS开发者必须要掌握的。 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是我的iOS交流圈: 不管你是小白还是大牛欢迎入驻!! 分享内容包括逆向安防、算法、架构设计、多线程,网络进阶,还有底层、音

iOS Texture<AsyncDisplayKit> Subclassing-爱代码爱编程

Subclassing 创建子类时最重要的区别是您是编写ASDKViewController还是ASDisplayNode。这听起来很明显,但由于其中一些差异是微妙的,所以记住这一点很重要。 ASDisplayNode 虽然子类化node类似于编写UIView子类,但要遵循一些准则,以确保充分利用框架的潜力,并确保node的行为符合预期。 -ini

iOS LeetCode☞括号生成-爱代码爱编程

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3 输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ] 题解: 为了生成所有序列,我们可以使

新手进阶:macOS系统预览应用的强大功能-爱代码爱编程

Mac电脑都随附有预览功能,这是macOS内置的功能,不过可能很多朋友都小看了这一项应用,它除了可以预览图片,还可以做到很多意想不到事情,快来看看预览应用的强大之处吧! 1.编辑剪贴板图像-如果将图像从另一个应用程序复制到剪贴板,则可以在“预览”中快速编辑剪贴板上的图像。为此,请复制图像,打开“预览”应用程序,然后使用Command + N键盘快捷键。或

iOS Texture <AsyncDisplayKit> ASViewController-爱代码爱编程

ASViewController是UIViewController的一个子类,它为承载ASDisplayNode层次结构添加了一些有用的特性。 ASViewController可以代替任何UIViewController,包括UINavigationController、UITabBarController和UISplitViewController,或

iOS开发Objective-C基础之──多态性-爱代码爱编程

Objective-C语言是面向对象的高级编程语言,因此,它具有面向对象编程所具有的一些特性,即:封装性、继承性和多态性。 今天介绍一下Objective-C中的多态性。 多态的3个条件: 继承:各种cell继承自BaseCell 重写:子类cell重写BaseCell的setModel:方法 指向:父类cell指针指向子类cell 一