3.2.1被下架 ios

2019-05-24 20:33:37 xiaoyeziios 阅读数 863

在过去一年中相信各位开发者都经历了苹果的“摧残”,目前苹果熟知国内马甲包的套路,导致在这一年中苹果对马甲包的打击力度呈现几何式增长,开发者在上架的过程中普遍遇到的问题主要有:

希望有更多的朋友一起针对苹果ios审核上架处理分享,qq群: 611641785,欢迎一起交流 ,后期会慢慢分享更多的干货

1.打击力度大

苹果对马甲包打击力度增加,导致现在遇到的主要问题是:

■上架难,4.3已经成为头号杀手

■复审严,下架频,下架应用比上架还多

2.各环节过审技巧

注:苹果主要的审核流程

2.1 开发者环节

主要为苹果的后续审核做好规避,主要分为两点

2.1.1:代码的修改,主要是为了方便做马甲包修改

2.1.2:运营上的细节处理,主要是为了规避4.3处理方式可分为3点:

(i) ip切换

保证ip不重复,在没有vpn的情况下,用手机热点飞行模式五分钟即可.

(ii) 保证设备更换

若无法更换设备,那么证书参数要处理到位,基础证书每次都要清空处理(注回复公众号后台“证书”即可获得哦)

(iv) 元数据填写

切勿复制应用介绍和测试账号,不得重复/

2.2 代码审查环节(机审):就是等待审核环节

主要审核内容:对“文件名,类名,函数名,方法名”等进行比对;而不是对全局每一个二进制文件的代码进行比对。小贴士:如果应用首次提交,在这个环节的时间如果超过72小时,建议撤回哦,否则有封号风险。

2.3 人机AI交互环节:

这个环节是ai机器人配合人工体验应用的环节。(正在审核环节)——时间大概在几十分钟到几个小时之间,若超过72小时建议放弃,否则依然有封号风险。

2.3.1 苹果审核主要分为:

(i) 代码问题——机审。

(ii) 内容违规问题——需审核人员来做判断。

(iii) 出现人机交互审查的原因:机器记忆力和工作效率是人不可比拟的,但是人的主观判断意识又是机器没有的。

(iv) 人审4.3是不可能的,4.3条款是指重复应用,而不是相似应用,严谨高效的苹果审核环节,一旦给到你4.3,那一定是他有了十足的把握才被4.3打回,这是单靠人审做不到的绝对。2.3.2这个环节死的最多的不是应用类,而是游戏类——游戏类素材太多,替换成本太高。

出现人机交互审查的原因:机器记忆力和工作效率是人不可比拟的,但是人的主观判断意识又是机器没有的。

3.被拒环节的解决方式

被拒环节:这个环节我们已经得到了苹果审核反馈,如果是过审,那是皆大欢喜。但是一把过的概率极低,在被苹果拒审后我们要根据驳回原因做必要的修改,这个是大家遇到的常态。如果被拒时收到苹果的截图,我告诉你也是一件好事,这种情况大概率这个应用是可以过审的,因为苹果还是想告诉你如何修改,其实是在帮助你过审。以下我提出几个观点:

3.1 观点一:两次装机审核

(i) 第一次代码审查装机截图——首屏图,每次必改。

(ii) 第二次人工体验+ai同步定时多次截图——做审核服,且每次随机呈现。

小建议:大家在应用上一定要做好监测工作,这样才能更好的掌握苹果的审查动向,记住二次激活,不一定代表一定过了机审。极少情况会出现只有一次装机就被拒的,这种情况就是开发者代码上处理的重大失误了。

注:两次装机反馈图

3.2 观点二:被拒后,不一定要重新提审

(i) 元数据拒绝

例如2.3.7问题(截图无法反应应用程序问题)——修改五图,添加手机模型即可。

(ii) 二进制拒绝

例如2.1的ipv6问题,拍摄登陆视频即可.拍摄视频也有小技巧哦(可私信小七妹妹领取视频)。

注:遇到被拒情况不要着急重新提审,仔细审视后再进行操作。能通过回复解决的尽量不要去提交审核,减少苹果审查代码的次数。

3.3 观点三:2.1大礼包不一定是坏事

(i) 2.1大礼包的问题

表示代码里存在一些共性的点,但苹果又无法准确定位。所以被2.1打回。

(ii) 回复2.1问题

回复态度一定要端正,回复的要素要全面,可以把大礼包的所有问题都逐一解答,剩下的全靠命运的安排咯,大概30%的通过率。

(iii) 特殊条款

近期出现特殊条款——声称你涉嫌违规,要调查你的账户,基本与封号没有区别。

注:可能跟贸易战有关哦!

3.4 观点四:只是4.3的前兆

(i) 2.3.1涉及代码混淆,苹果发现这个问题的同时又无法判定你是否为重复应用提交而给出一个警告。

(ii) 解决2.3.1问题——让垃圾代码不垃圾。

a. 苹果主要是审核代码中的某些字节。

b. 往代码中注入一定比例的冗余代码。

c. 垃圾代码中包含“文件名,类名,函数名,方法名”等,起作用的是这些东西。

(iii) 加垃圾代码失效的原因:上包太肆无忌惮被苹果爸爸发现并优化了审核机制。

(iv) 苹果不可能做全局对比,所以添加垃圾代码时更要注意一些特殊类名的规律性存在,例如:.cpp.和.h文件.不骗过自己怎么骗过苹果。

3.5 观点五:3.2.1只是纸老虎

(i) 3.2.1主要出现在金融上,而且明确告知了业务模式是可接受,所以只要提交资料即可。

(ii) 千万不要套壳,套壳有风险。

(iii) 提交资质有讲究。

(iv) 苹果到现在依旧是区分不开p2p和贷款。

(v) 理财万能包的出现,同时更新有讲究需谨慎。

(iv) 5月初苹果金融类上架禁令开始,在线理财原生包变得更加重要,但屯包有风险。

(vi) 最坏的可能:苹果永久禁止收录,那后续只能选择套壳,有壳也比没包强。

3.6 观点六:4.3只出现在机审,且并非不可战胜

(i) 人审没有4.3,只有4.1。所谓遇到人审4.3的其实都是在人机交互环节被机器截图发现的,是因为审核服没有做到位。在没有截图的情况下如何鉴别4.3:具体情况分析,但唯一不变的就是审查动向的监测。

以游戏为例避免4.3:

a. 做一个独立的的提审服务器——小部分游戏地图

b. 修改场景图,人物图,道具样式等各种图片元素

c. 每个元素放在几十个文件中,随机抓取排列组合应对 苹果审核

d. 弊端:工作量大,但磨刀不误砍柴工,必须做

(ii) 苹果目前,将来都不会去做全源码对比,因为效率低下。

(iii) 苹果允许第三方调用,且随着应用增加,诸多功能代码的相识度很高,苹果不能只依靠部分代码相似来下定论——4.3只出现在机审的原因。

(iv) 规避4.3除了之前提到的换设备,切ip,导证书等运营细节以外,代码规范很重要。——添加垃圾代码的同时也要更改原本代码的“文件名,类名,函数名,方法名”等。

小建议:苹果一定是记录存储每次提审的代码,那存储的时间是多久呢,我认为是90填,大家可以去看苹果后台的tf测试项目,版本的有效期是90天,所以建议开发者们在提审出结果后,不要怕麻烦,一定把版本设置过期。

(v) 开发者需要改变角度将代码修改流程化,同时运用各种语言工具,让4.3成为过去/

3.7 观点七:最可怕的霸王条款——other

这个时候就体现了苹果的霸权主义了,基本就是封你账户了,你基本没有反抗的机会,除非你有bat级别的公关团队。

偶然遇到账号无故封禁情况,大家主观想法是信用卡账号支付问题,其实不然,苹果的信用卡信息保管很严谨.

总结

让应用变成一个新的应用的方式有很多,本期教大家的是苹果审核的原理,关于如何实现快速让一个应用变成一个爹妈都不认识的新应用,这是核心机密,就不做展开了,如果是技术可以往我说的方向去试试,相信会有收获。

希望有更多的朋友一起针对苹果ios审核上架处理分享,qq群: 611641785,欢迎一起交流 ,后期会慢慢分享更多的干货

2016-04-12 11:22:08 VNanyesheshou 阅读数 18179

最近领导让添加ios 微信分享视频的功能,之前做的只有微信分享本地图片的功能。

查看官网并没有找到答案,后来在其官网论坛中http://bbs.mob.com/thread-20938-1-1.html 这里面发现新版的sdk(v3.2.1)中才添加的微信分享本地文件(mp3、mp4、docx、pdf等)的功能。可以支持就好办了。。

使用集成好的第三方框架可以节省许多代码量。

注意:申请shareSdk的apply,还有各个平台的appkey和appsecert(这真是非常麻烦的事情啊)

集成SDK

1 下载ShareSDK 简洁版(v3.2.1)

目录如下所示:

         

目录结构:

  (1)ShareSDk.framework:核心静态库。(必要)

    (2)  Support 文件夹。其中包含三个文件夹:

   (a) Required (需要的类库) :

         ----- MOBFoundation.framework:基础功能框架。(必要)
         ----- ShareSDK.bundle:ShareSDK资源文件。(必要)
         ----- ShareSDKConnector.framework:用于ShareSDK框架与外部框架连接的代理框架插件。(使用第三方SDK时必要。)
     (b) Optional (可选类库):
         ----- ShareSDKExtension.framework:对ShareSDK功能的扩展框架插件。
        (主要提供第三方平台登录、 一键分享、截屏分享、摇一摇分享等相关功能。需要使用以上功能时必要。)
         ----- ShareSDKInterfaceAdapter.framework:ShareSDK v2.x对简洁版的接口兼容包。
         ----- ShareSDKUI.bundle:分享菜单栏和分享编辑页面资源包。(如果自定义这些UI可直接移除)
         ----- ShareSDKUI.framework:分享菜单栏和分享编辑页面。(如果自定义这些UI可直接移除)
     (c) PlatformSDK 第三方平台SDK。(不需要的平台的SDK可直接移除)

其中PlatformSDK文件夹下用来添加各个平台分享的sdk,可以根据需求下载。

2 将sdk导入工程

选中ShareSDK文件夹向工程中拖拽,拖到工程中后弹出以下对话框,勾选"Copy items into destination group's folder(if needed)",并点击“Finish“按钮, 如图

注意:请务必在上述步骤中选择“Create groups for any added folders”单选按钮组。如果你选择“Create folder references for any added folders”,一个蓝色的文件夹引用将被添加到项目并且将无法找到它的资源。

3 添加依赖库

如下图:3是Build phases。 4 是Link Binary With Libraries。

必须添加的依赖库如下(Xcode 7 下 *.dylib库后缀名更改为*.tbd):
  • SystemConfiguration.framework
  • QuartzCore.framework
  • CoreTelephony.framework
  • libicucore.dylib
  • libz.1.2.5.dylib
  • Security.framework
  • JavaScriptCore.framework
  • libstdc++.dylib
  • CoreText.framework
以下依赖库根据社交平台添加:
微信SDK依赖库   libsqkute3.dylib

设置appKey

打开AppDelegate.m文件。
导入头文件
#import <ShareSDK/ShareSDK.h>
#import "WXApi.h"
实现代理

@interface GAShareUtil ()<WXApiDelegate>

@end

在- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerApp方法来初始化SDK并且初始化第三方平台
/**
     *  设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到http://mob.com/login 登录后台进行应用注册
     *  在将生成的AppKey传入到此方法中。
     *  方法中的第二个第三个参数为需要连接社交平台SDK时触发,
     *  在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。
     *  如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。
     */
    [ShareSDK registerApp:@"iosv1101"
          activePlatforms:@[
                            @(SSDKPlatformTypeWechat)]
                 onImport:^(SSDKPlatformType platformType){
                     switch (platformType){
                         case SSDKPlatformTypeWechat:
                             [ShareSDKConnector connectWeChat:[WXApi class]delegate:self];
                             break;
                         case SSDKPlatformTypeQQ:
                             [ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
                             break;
                         case SSDKPlatformTypeSinaWeibo:
                             [ShareSDKConnector connectWeibo:[WeiboSDK class]];
                             break;
                         default:
                             break;
                     }
                 } onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo){
                     switch (platformType){
//                        case SSDKPlatformTypeSinaWeibo:
//                             //设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
//                            [appInfo SSDKSetupSinaWeiboByAppKey:@""
//                                                      appSecret:@""
//                                                    redirectUri:@""
//                                                       authType:SSDKAuthTypeBoth];
//                             break;
                         case SSDKPlatformTypeWechat:
                             [appInfo SSDKSetupWeChatByAppId:@""
                                 appSecret:@""];
				break;  
			 default: break; 
} }];

然后打开下图位置,在URL Types中添加微信AppID  55BDA8FD-90BF-472B-999C-4C57680AB210

分享代码

1 简单分享 --无UI分享

/**
 *  简单分享
 */
- (void)simplyShare{
    /**
     * 在简单分享中,只要设置共有分享参数即可分享到任意的社交平台(前提是在AppDelegate中成功注册)
     **/
    __weak SHWeiXinViewController *theController = self;
    [self showLoadingView:YES];
    //创建分享参数
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    //可以是单张图片也可以是多张。
    NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
    if (imageArray) {
        [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                         images:imageArray
                                            url:[NSURL URLWithString:@"http://www.mob.com"]
                                          title:@"分享标题"
                                           type:SSDKContentTypeAuto];
        //进行分享
        [ShareSDK share:SSDKPlatformSubTypeWechatSession
             parameters:shareParams
//        [ShareSDK share:SSDKPlatformTypeSinaWeibo
//             parameters:shareParams
         onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
             [theController showLoadingView:NO];
             [theController.wxtableView reloadData];
             switch (state) {//判断分享是否成功
                 case SSDKResponseStateSuccess:{
                     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                         message:nil
                                                                        delegate:nil
                                                               cancelButtonTitle:@"确定"
                                                               otherButtonTitles:nil];
                     [alertView show];
                     break;
                 }
                 case SSDKResponseStateFail:{
                     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                         message:[NSString stringWithFormat:@"%@", error]
                                                                        delegate:nil
                                                               cancelButtonTitle:@"确定"
                                                               otherButtonTitles:nil];
                     [alertView show];
                     break;
                 }
                 case SSDKResponseStateCancel:{
                     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享已取消"
                                                                         message:nil
                                                                        delegate:nil
                                                               cancelButtonTitle:@"确定"
                                                               otherButtonTitles:nil];
                     [alertView show];
                     break;
                 }
                 default:
                     break;
             }
         }];
    }
}

/**

 * 设置分享参数

 *  @param text     文本

 *  @param images   图片集合,传入参数可以为单张图片信息,也可以为一个NSArray,数组元素可以为UIImageNSString(图片路径)、NSURL(图片路径)、SSDKImage。如: @"http://www.mob.com/images/logo_black.png"@[@"http://www.mob.com/images/logo_black.png"]

 *  @param url      网页路径/应用路径

 *  @param title    标题

 *  @param type     分享类型

 */

- (void)SSDKSetupShareParamsByText:(NSString *)text

                            images:(id)images

                               url:(NSURL *)url

                             title:(NSString *)title

                              type:(SSDKContentType)type;

SSDKContentType 用来设置分享类型。如下图所示 相同代码,不同的类型对应不同效果

     


当SSDKContentType设置为SSDKContentTypeAuto会自动判断分享的类型,类显示不同的界面。

2 分享菜单

显示分享菜单
- (void)showShareActionSheet:(UIView *)view{
    /**
     * 在简单分享中,只要设置共有分享参数即可分享到任意的社交平台
     **/
    __weak SHWeiXinViewController *theController = self;
    //1、创建分享参数(必要)
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
    [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                     images:imageArray
                                        url:[NSURL URLWithString:@"http://www.mob.com"]
                                      title:@"分享标题"
                                       type:SSDKContentTypeAuto];
    
    //2、分享
    [ShareSDK showShareActionSheet:view
                             items:nil
                       shareParams:shareParams
               onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
                   switch (state) {
                       case SSDKResponseStateBegin:{
                           [theController showLoadingView:YES];
                           break;
                       }
                       case SSDKResponseStateSuccess:{
                           //Facebook Messenger、WhatsApp等平台捕获不到分享成功或失败的状态,最合适的方式就是对这些平台区别对待
                           if (platformType == SSDKPlatformTypeFacebookMessenger){
                               break;
                           }
                           UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                               message:nil
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"确定"
                                                                     otherButtonTitles:nil];
                           [alertView show];
                           break;
                       }
                       case SSDKResponseStateFail:{
                           if (platformType == SSDKPlatformTypeSMS && [error code] == 201){
                               UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                               message:@"失败原因可能是:1、短信应用没有设置帐号;2、设备不支持短信应用;3、短信应用在iOS 7以上才能发送带附件的短信。"
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"OK"
                                                                     otherButtonTitles:nil, nil];
                               [alert show];
                               break;
                           }else if(platformType == SSDKPlatformTypeMail && [error code] == 201){
                               UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                               message:@"失败原因可能是:1、邮件应用没有设置帐号;2、设备不支持邮件应用;"
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"OK"
                                                                     otherButtonTitles:nil, nil];
                               [alert show];
                               break;
                           }
                           else{
                               UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                               message:[NSString stringWithFormat:@"%@",error]
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"OK"
                                                                     otherButtonTitles:nil, nil];
                               [alert show];
                               break;
                           }
                           break;
                       }
                       case SSDKResponseStateCancel:{
                           UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享已取消"
                                                                               message:nil
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"确定"
                                                                     otherButtonTitles:nil];
                           [alertView show];
                           break;
                       }
                       default:
                           break;
                   }
                   if (state != SSDKResponseStateBegin){
                       [theController showLoadingView:NO];
                       [theController.wxtableView reloadData];
                   }                  
               }];   
}


显示分享菜单的方法

+ (SSUIShareActionSheetController *)showShareActionSheet:(UIView *)view
                                                   items:(NSArray *)items
                                             shareParams:(NSMutableDictionary *)shareParams
                                     onShareStateChanged:(SSUIShareStateChangedHandler)shareStateChangedHandler;

当items参数为nil时,则会显示已集成的平台列表,可以通过设置items只显示自己需要的平台。其中SSDKPlatformTypeWechat默认包括微信好友,朋友圈和微信收藏。可以通过设置这三个参数可以让各别显示和隐藏。

SSDKPlatformSubTypeWechatSession,SSDKPlatformSubTypeWechatTimeline,SSDKPlatformSubTypeWechatFav


[ShareSDK showShareActionSheet:nil
                       //将要自定义顺序的平台传入items参数中
                       items:@[@(SSDKPlatformTypeWechatTimeLine)
			       @(SSDKPlatformTypeWechatSession)] 
                 shareParams:shareParams 
         onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) { .......}];

效果图所示:

3 自定义分享菜单栏样式

// 弹出分享菜单需要导入的头文件
#import <ShareSDKUI/ShareSDK+SSUI.h>
// 自定义分享菜单栏需要导入的头文件
#import <ShareSDKUI/SSUIShareActionSheetStyle.h>
 
    //1、创建分享参数(必要)
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
   (注意:图片要在Xcode左边目录里面,名称必须要传正确,或者是本地沙盒中的文件,如果要分享网络图片,可以这样传iamge参数 images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
    [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                     images:imageArray
                                        url:[NSURL URLWithString:@"http://mob.com"]
                                      title:@"分享标题"
                                       type:SSDKContentTypeAuto];
 
    // 设置分享菜单栏样式(非必要)
    // 设置分享菜单的背景颜色
    [SSUIShareActionSheetStyle setActionSheetBackgroundColor:[UIColor colorWithRed:249/255.0 green:0/255.0 blue:12/255.0 alpha:0.5]];
    // 设置分享菜单颜色
    [SSUIShareActionSheetStyle setActionSheetColor:[UIColor colorWithRed:21.0/255.0 green:21.0/255.0 blue:21.0/255.0 alpha:1.0]];
    // 设置分享菜单-取消按钮背景颜色
    [SSUIShareActionSheetStyle setCancelButtonBackgroundColor:[UIColor colorWithRed:21.0/255.0 green:21.0/255.0 blue:21.0/255.0 alpha:1.0]];
    // 设置分享菜单-取消按钮的文本颜色
    [SSUIShareActionSheetStyle setCancelButtonLabelColor:[UIColor yellowColor]];
    // 设置分享菜单-社交平台文本颜色
    [SSUIShareActionSheetStyle setItemNameColor:[UIColor redColor]];
    // 设置分享菜单-社交平台文本字体
    [SSUIShareActionSheetStyle setItemNameFont:[UIFont systemFontOfSize:11]];
 
    //2、弹出ShareSDK分享菜单
    [ShareSDK showShareActionSheet:view
                             items:@[@(SSDKPlatformTypeWechatTimeLine)
			           @(SSDKPlatformTypeWechatSession)]
                       shareParams:shareParams
               onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) { ...... }
效果图:

4 跳过分享的编辑界面

弹出分享菜单,直接点击菜单中的平台分享(跳过分享的编辑界面)。

//先构造分享参数:
 NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
  [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                         images:@[[UIImage imageNamed:@"shareImg.png"]]
                                            url:[NSURL URLWithString:@"http://mob.com"]
                                          title:@"分享标题"
                                           type:SSDKContentTypeAuto];
  //调用分享的方法
 SSUIShareActionSheetController *sheet = [ShareSDK showShareActionSheet:view
                                                                         items:nil
                                                                   shareParams:shareParams
                                                           onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
                                                               switch (state) {
                                                                   case SSDKResponseStateSuccess:
                                                                       NSLog(@"分享成功!");
                                                                       break;
                                                                   case SSDKResponseStateFail:
                                                                       NSLog(@"分享失败%@",error);
                                                                       break;
                                                                   case SSDKResponseStateCancel:
                                                                       NSLog(@"分享已取消");
                                                                       break;
                                                                   default:
                                                                       break;
                                                               }
                                                           }];
   //删除和添加平台示例
 [sheet.directSharePlatforms removeObject:@(SSDKPlatformTypeWechat)];
//(默认微信,QQ,QQ空间都是直接跳客户端分享,加了这个方法之后,可以跳分享编辑界面分享)
 [sheet.directSharePlatforms addObject:@(SSDKPlatformTypeSinaWeibo)];
//(其它平台默认会跳分享编辑界面,加了这个方法之后可以不跳分享编辑界面,直接点击分享菜单里的选项,直接分享)

5 不显示分享平台显示分享编辑菜单

[ShareSDK showShareEditor:SSDKPlatformTypeWechat
               otherPlatformTypes:@[@(SSDKPlatformTypeSinaWeibo),@(SSDKPlatformTypeTencentWeibo)]
                      shareParams:shareParams
              onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end)
         {}];


显示分享编辑框,只有微信,不显示otherPlatformTypes中的其它选项。



6 自定义编辑框

导入

#import <ShareSDK/ShareSDK.h>

#import <ShareSDKUI/SSUIEditorViewStyle.h>

NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
        [shareParams SSDKSetupShareParamsByText:@"分享内容..."
                                         images:imageArray
                                            url:[NSURL URLWithString:@"http://mob.com"]
                                          title:@"分享标题"
                                           type:SSDKContentTypeImage];
        //自定义编辑区样式(非必要)
        //设置iPhone导航栏颜色
        [SSUIEditorViewStyle setiPhoneNavigationBarBackgroundColor:[UIColor redColor]];
        //设置编辑界面背景颜色
        [SSUIEditorViewStyle setContentViewBackgroundColor:[UIColor cyanColor]];
        //设置标题
        [SSUIEditorViewStyle setTitle:@"微信分享"];
        //设置取消按钮标签
        [SSUIEditorViewStyle setCancelButtonLabel:@"算了吧"];
        //设置取消按钮标签文本颜色
        [SSUIEditorViewStyle setCancelButtonLabelColor:[UIColor blackColor]];
        
        [ShareSDK showShareEditor:SSDKPlatformTypeWechat
               otherPlatformTypes:@[@(SSDKPlatformTypeSinaWeibo),@(SSDKPlatformTypeTencentWeibo)]
                      shareParams:shareParams
              onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end)
         {
}];


7 隐藏“微信收藏”平台

方法有两种

1 在appDeleagete中修改,这样比较方便。

[ShareSDK registerApp:@"XXXXXXX"
            activePlatforms:@[
                            // 不要使用微信总平台进行初始化
                            //@(SSDKPlatformTypeWechat),
                            // 使用微信子平台进行初始化,即可
                            @(SSDKPlatformSubTypeWechatSession),
                            @(SSDKPlatformSubTypeWechatTimeline),
                            ]
            onImport:^(SSDKPlatformType platformType) {
 
                     switch (platformType)
                     {
                         case SSDKPlatformTypeWechat:
                             [ShareSDKConnector connectWeChat:[WXApi class]];
                             break;
                        default:
                             break;
                     }
 
                 }
            onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo) {
 
              switch (platformType)
              {
                   case SSDKPlatformTypeWechat:
                      [appInfo SSDKSetupWeChatByAppId:@"wx4868b35061f87885"
                                            appSecret:@"64020361b8ec4c99936c0e3999a9f249"];
                      break;
                   default:
                      break;
              }
          }];

2 在某些使用的地方,将SSDKPlatformTypeWechat修改成微信子平台,去掉微信收藏。这个是针对个别地方隐藏。


8 平台内容定制

/**
     * 在定制平台内容分享中,除了设置共有的分享参数外,还可以为特定的社交平台进行内容定制,
     * 如:其他平台分享的内容为“分享内容”,但微信需要在原有的“分享内容”文字后面加入一条链接,则可以如下做法:
     **/
    __weak SHWeiXinViewController *theController = self;
    [theController showLoadingView:YES];
    
    //创建分享参数
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    
    NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
    
    if (imageArray) {
        
        [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                         images:imageArray
                                            url:[NSURL URLWithString:@"http://mob.com"]
                                          title:@"分享标题"
                                           type:SSDKContentTypeImage];
        
        [shareParams SSDKSetupWeChatParamsByText:@"分享内容 http://mob.com"
                                           title:@"分享标题"
                                             url:[NSURL URLWithString:@"http://mob.com"]
                                      thumbImage:[UIImage imageNamed:@"shareImg.png"]
                                           image:[UIImage imageNamed:@"shareImg.png"]
                                    musicFileURL:nil
                                         extInfo:nil
                                        fileData:nil
                                    emoticonData:nil
                             sourceFileExtension:nil
                                  sourceFileData:nil
                                            type:SSDKContentTypeAuto
                              forPlatformSubType:SSDKPlatformSubTypeWechatSession];
        
        
        //进行分享
        [ShareSDK share:SSDKPlatformTypeWechat
             parameters:shareParams
         onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
}];


9 分享本地文件(mp3、mp4、docx、pdf等)


NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    UIImage *imageThumb = [UIImage imageNamed:@"Icon.png"];
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"cattest" ofType:@"mp4"];
    [shareParams SSDKSetupWeChatParamsByText:@"视频分享。。。"
                                       title:@"视频分享"
                                         url:nil
                                  thumbImage:imageThumb
                                       image:imageThumb
                                musicFileURL:nil
                                     extInfo:nil
                                    fileData:nil
                                emoticonData:nil
                         sourceFileExtension:@"mp4"
                              sourceFileData:filePath
                                        type:SSDKContentTypeFile
                          forPlatformSubType:SSDKPlatformSubTypeWechatSession];
    
    //进行分享
    [ShareSDK share:SSDKPlatformSubTypeWechatSession
         parameters:shareParams
     onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
}];

分享文件时:

 *  设置typeSSDKContentTypeFile(例如.mp3.mp4.pdf.docx的分享),设置titlesourceFileExtensionsourceFileData,以及thumbImage参数,如果尚未设置thumbImage则会从image参数中读取图片并对图片进行缩放操作参数

 */

注意(分享失败的两个坑):文件大小不能超过10M,thumbImage图片大小不能超过32k,最好是宽高相等。


10 摇一摇分享

导包

#import <ShareSDK/ShareSDK.h>

#import <ShareSDKExtension/SSEShareHelper.h>

/**
         * 使用ShareSDKExtension插件可以实现摇一摇分享
         * 通过使用SSEShareHelper可以调用开启/结束摇一摇分享方法,在方法的onWillShareHandler参数中可以处理摇一摇后的分享处理操作。
         *
         * 小技巧:
         * 当取得摇一摇事件通知后,如果shareHandler入口不满足分享需求(如需要弹出分享菜单而不是直接分享),可以不调用shareHandler进行分享,而是在block中写入自定义的分享操作。
         * 这样的话摇一摇分享接口实质只充当捕获摇一摇通知的功能。
         **/
        
        __weak SHWeiXinViewController *theController = self;
        
        //开启摇一摇分享功能
        [SSEShareHelper beginShakeShare:nil
                              onEndSake:nil
                     onWillShareHandler:^(SSEShareHandler shareHandler){
             NSLog(@"======开始分享");
             //构造分享参数
             NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
             NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
             if (imageArray){
                 [shareParams SSDKSetupShareParamsByText:@"摇着摇着就可以分享出去了,使用ShareSDK分享就是便捷方便。"
                                                  images:imageArray
                                                     url:nil
                                                   title:nil
                                                    type:SSDKContentTypeImage];
                 //显示等待界面
                 [theController showLoadingView:YES];
                 //回调分享
                 if (shareHandler){
                     shareHandler (SSDKPlatformTypeWechat, shareParams);
                 }
             }
         }onStateChanged:^(SSDKResponseState state,NSDictionary *userData,
                           SSDKContentEntity *contentEntity, NSError *error) {
}];

iOS 9 异常

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据。对ShareSDK来说,具体表现可能是,无法授权、分享、获取用户信息等。

还可能造成我们的编辑界面里传http之类的网络图片的时候,我们的编辑界面不会显示图片截图,解决的办法或者全面关闭https,允许使用http请求;或者把图片的域添加;又或者选择使用https的图片

解决方案(以下方法2选1):

(1)、暂时退回到http协议。

具体方法:

在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。

然后给它添加一个Key:NSAllowsArbitraryLoads,类型为Boolean类型,值为YES;

751FEFB8-86A2-45EC-8F61-A1A5081C5465

(2)http://wiki.mob.com/ios9-对sharesdk的影响(适配ios-9必读)/


demo下载地址

2018-09-12 18:49:15 ios8988 阅读数 679

近年金融行业百花齐放,缺乏监管,正因如此随着政策新规的到来,从17年9月份开始金融类(贷款、理财)上架开始变的异常困难,其中受政策影响的还有彩票类应用;

对于App Store来说,卡APP无非参照两点,一是用户体验,二是当地政策法律。大部分马甲包的上架难,无疑就是第一种所致。而贷款类、理财类、彩票类的APP上架,主要都是政策原因导致。

本文将会针对金融产品(贷款、理财)及其他被拒情况进行撰写。

一、理财、贷款产品被拒原因

首先我们来看看被拒条款:

如果你没有收到这三条在下次提交材料的时候提交这上面的图片下次应该就会给你回复这几条;

如果你回复这三条苹果给你反馈的时间很短还是这三条,你很有可能遇到机审了或者你回复的这几条中苹果没有满意。因为大家回复3.2.1都是很多次了,现在苹果给答复的时间一般在4~5天大家不要着急。

另外附上:

国家企业信用信息查询链接:http://www.gsxt.gov.cn/index.html

增值电信业务经营许可证查询链接: https://tsm.miit.gov.cn/pages/home.aspx

从条款的内容,可以看到,金融类APP的上架,如果想不做大的改动上架的话,要么用有资质的账号,要么碰运气,毕竟苹果审核人员有时候审核就是这么任性。

有资质的账号,一定要具备经营范围(营业执照)、金融许可证以及ICP证,同时在上架的时候上传在附件里,给审核人员审核的时候看。

有资质的账号,这个条件,对于很多公司来说,都是不具备的。对于这部分的小伙伴,只能是找具备这个条件的朋友公司借用有资质的账号来解决,让对方帮忙代上架,或者让对方把自己的开发者账号添加到对方的开发者账号下,提交审核,等上架成功后,再转到自己的开发者账号下。

但目前采用资质账号的办法难度逐渐加大,为苹果审核对上架成功后的转让出的App查的很严,一经发现,立马下架此类App,同时可能会对该苹果账号进行封号处理,所以大部分的资质代上,目前已经成了一日游。另外,苹果审核目前对此类资质账号卡的非常严,过审非常艰难,所需时间非常久。

综合以上,目前金融类App,只要没有正规资质的,如果想要上架App Store,那套壳会是一种最稳妥的上架方式。

所谓套壳,就是将App伪装成另一个App,在过审的时候,给苹果审核展示伪装App的内容,等过审后,再切换回真实的App内容。此方法对原生、H5类型开发的App均适用。

目前的金融类App套壳,主要是将App伪装成天气类、新闻类的App,当然这种App伪装的方式弊端诸多,比如说App的分类是一个问题,会影响App后续的ASO优化等,这是做App套壳的主要弊端之一。当然,如果能将App伪装成财务类应用,则此类问题的影响,会被较大的削减。

金融理财上架总结:

  1. 上架符合苹果条件提供相应材料过审核,如果确实资料可以找我咨询,另外回复模板可找我拿。

  2. 套壳,稳定的方式,本人也弄过套壳的方式,利弊在上面也说了。

  3. 金融中介账号上架,逻辑与银行账号一致,成功率相对银行张较高,但目前仅支持理财。

  4. 银行账号上架,成功几率较低,而且比较费精力。

二、其他被拒条款及解决办法

这里给大家收集整理了常见的 App Store 审核被拒的23个理由,并且附上官方拒绝理由原文,供大家上传应用时对照检查。

应用被拒分为两种:Binary Rejected 和 Metadata Rejected。前者需要重新上传应用并且重新排队,后者只需要修改信息,不需要重新上传应用。

1、应用内包含检查更新功能

iOS 应用的版本更新必须通过 App Store进行,自身 App 内不能包含提示更新功能。从2015年3月起,所有包含检查更新功能的 App 都会被拒绝上架。

附被拒理由原文:

Your app includes an update button oralerts the user to update the app. To avoid user confusion, app version updatesmust utilize the iOS built-in update mechanism. We’ve attached screenshot(s)for your reference.

Next Steps

Please remove the update feature from yourapp. To distribute a new version of your app, upload the new app binary versioninto the same iTunes Connect record you created for the app’s previous version.Updated versions keep the same Apple ID, iTunes Connect ID (SKU), and bundle IDas the original version, and are available free to customers who purchased aprevious version.

2、使用第三方登录时未做安装检测

接入第三方登录要检测是否安装了第三方客户端,未安装时不要显示对应按钮。2015年9月之前,通常可以采用判断未安装则隐藏登录按钮的方式。但目前隐藏按钮的方式也可能被审核拒绝,QQ 和微博提供了 web 登录的方式,如果判断未安装,需要允许用户使用 webview 的登录方式。苹果在条款中有声明不允许 iOS 应用的正常使用需要依赖另外一个 App。

附被拒理由原文:

We noticed that third-party app QQ/WeChatis required to use third-party authentication method. The user should be ableto login without installing additional applications.

Next Steps

If you choose to support third-partyauthentication, please use methods that can authenticate users from within yourapp, such as a native web-view.

3、采集设备IDFA但应用没有广告功能

从2014年2月起,Apple 开始拒绝采集 IDFA (identifier for advertising) 却未集成任何广告服务的应用进入 App

Store。如果 App 本身没有广告,ASO100.com  建议可以在审核的时候显示一个 Banner 广告,并且放在比较明显的位置,审核通过后关掉即可。

附被拒理由原文:

We found that your app uses the iOSAdvertising Identifier but does not include ad functionality. This does notcomply with the terms of the iOS Developer Program License Agreement, asrequired by the App Store Review Guidelines.

Specifically, section 3.3.12 of the iOSDeveloper Program License Agreement states:

“You and Your Applications (and anythird party with whom you have contracted to serve advertising) may us theAdvertising Identifier, and any information obtained through the use of theAdvertising Identifier, only for the purpose of serving advertising. If a userresets the Advertising Identifier, then You agree not to combine, correlate,link or otherwise associate, either directly or indirectly, the priorAdvertising Identifier and any derived information with the reset AdvertisingIdentifier.”

Please remove the iOS AdvertisingIdentifier from your app or add ad functionality to your app.

4、含UGC却未提供用户协议及举报功能

如果你的 App 内有发帖等UGC(用户产生内容)功能,必须提供用户协议,并留有内容举报功能,否则就会被审核拒绝。

附被拒理由原文:

We found your app enables the display ofuser-generated content which may become sexually explicit. Therefore we askthat you put the following precautions in place, to ensure your app remains incompliance with the App Store Review Guidelines.

Use Moderators to flag and removeinappropriate content

Require that your users agree to terms(EULA) and these terms must be clear that there's no tolerance forobjectionable content

Users need a way to flag or reportobjectionable content and users generating this content

Developer must act on objectionable contentreports within 24 hours by removing the content and ejecting the user whoprovided the offending content

Developer needs a method for ejecting userswho violate the terms of the EULA

Please keep in mind that it is not

sufficient for the user to report an issue through a general user feedback / 反馈orlike/dislike feature of the app. Please ensure that the contents that maybecome objectionable have a reporting or flagging mechanism readily accessibleby the user to allow the user to promptly report or flag the issue and clearlyidentify the offending content.

5、上传时没有使用真实的应用截图

应用程序的名称、描述、截图或者预览与应用的内容和功能不相关将会被拒绝。有 App 因为应用截图使用的是自己设计的插画而被审核拒绝。

附被拒理由原文:

We noticed that your marketing screenshot(s)do not sufficiently reflect your app in use.We've attached screenshot(s) foryour reference.

Next Steps

Please revise your screenshots todemonstrate the app functionality in use.

6、应用必须使用邀请码才能注册使用

苹果要求应用不能限制只有部分用户可以使用。

附被拒理由原文:

Your app arbitrarily restrict users byrequiring invitation code to register, which is not allowed on the App Store.We’ve attached screenshot(s) for your reference.

Next Steps

Please revise your app to remove anyfunctionality that limits who can use the app.

7、应用内出现第三方移动平台的名字或图标

一直以来,苹果都不允许iOS开发者在进行软件描述时提到 Android 版本,而自从2015年4月起,在 App 内、截图等任何地方提到安卓、Android 的文字、图标、系统界面都会被拒。曾经有电商 App,因为出现了售卖三星安卓手机而被拒。。。

附被拒理由原文:

We found that your app and/or its metadatacontains inappropriate or irrelevant platform information, which is not incompliance with the App Store Review Guidelines.

Specifically, your app mentioned otherplatforms, such as Android.

Providing future platform compatibilityplans, or other general platform references, is not appropriate in the contextof the App Store. It would be appropriate to remove this information.

8、应用内涉及奖励,未声明与苹果无关

App 里有实物奖励的话,不能使用苹果产品(例如 iPhone 、iPad 等)作为奖品。另外一定要声明“奖励由本公司提供,与苹果官方无关”。

附被拒理由原文:

Your app includes a contest or sweepstakesbut it does not:

Indicate that Apple is not involved in anyway with the contest or sweepstakes.

Next Steps

It is necessary to:

Include official rules of the contest orsweepstakes in the app

Include an explicit statement in thecontest or sweepstakes rules specifying that > Apple is not a sponsor

Ensure that the contest or sweepstakeprizes are not Apple products

9、没有提供恢复内购的方法

增加一个“恢复购买记录”的按钮即可。

附被拒理由原文:

We found that your app offers In-AppPurchase/s that can be restored but it does not include a “Restore” feature toallow users to restore the previously purchased In-App Purchase/s.

To restore previously purchased In-AppPurchase products, it would be appropriate to provide a “Restore” button andinitiate the restore process when the “Restore” button is tapped.

10、未注册时不能使用与账号无关的功能

对于资讯等 App,在没有进行与用户信息相关的操作时,却强行让用户登录,甚至不登录就无法看到任何内容,有可能会被拒绝。

附被拒理由原文:

We noticed that your app requires users toregister with personal information to access non account-based features. Appscannot require user registration prior to allowing access to app content andfeatures that are not associated specifically to the user.

Specifically, your app forces users tologin before they can read the news.

We features that your app requires users toregister or log in, prior to accessing non account-based features. Apps cannotrequire user registration or login prior to allowing access to app content andfeatures that are not associated specifically to the user.

Next Steps

User registration that requires the sharingof personal information must be optional or tied to account-specificfunctionality. Additionally, the requested information must be relevant to thefeatures.

11、iPhone 应用在 iPad 上不能正常显示

iPhone程序必须不经修改就能以iPhone分辨率和2倍iPhone 3GS的分辨率在iPad上运行。即使你的App 只为 iPhone 用户提供,在 iPad 上也必须能够正常显示,否则审核会被拒绝。

附被拒理由原文:

We noticed that your app did not run atiPhone resolution when reviewed on iPad running iOS 9.1, which is a violationof the App Store Review Guidelines. We’ve attached screenshot(s) for yourreference.

Specifically, the buttons at the bottom ofthe app are inaccessible when running on iPad.

Next Steps

Please revise your app to ensure it runs atiPhone resolution on iPad.

12、侵犯第三方版权

对于视频、音乐、图书类的应用很容易因为这一条而被拒。另外 ASO100.com 建议应用内最好不要出现第三方的商标,例如运营商的Logo、影视公司的 Logo 等。

附被拒理由原文一:

We found that your app allows users todownload music without authorization from the relevant third-party sources.

We’ve attached screenshot(s) for yourreference.

Next Steps

Please provide documentary evidence of yourrights to allow music or video content download from third-party sources. Ifyou do not have the requested permissions, please remove the music or videodownload functionality from your app.

附被拒理由原文二:

Your app includes content or features thatresemble a well-known, third-party mark, Fox . We’ve attached screenshot foryour reference.

Pursuant to your agreement with Apple, yourepresent and warrant that your application does not infringe the rights ofanother party, and that you are responsible for any liability to Apple becauseof a claim that your application infringes another party's rights. Moreover, wemay reject or remove your application for any reason, at our sole discretion.

Accordingly, please provide documentaryevidence of rights to use this content. Once Legal has reviewed yourdocumentation and confirms its validity, we will proceed with the review ofyour app.

13、应用截图、名称、描述等出现不雅词汇

在应用截图、名称、描述等任何地方出现例如诸如牛逼、绿茶婊、无节操、逗比等词汇,都会被苹果审核拒绝。

附被拒理由原文:

We found that your app contains contentthat many audiences would find objectionable, which is not in compliance withthe App Store Review Guidelines.

Specifically, we noticed your app name 打飞机-简单粗暴isobjectionable.

We encourage you to review your app contentand evaluate whether you can modify the content to bring it into compliancewith the Guidelines.

14、应用出现 beta版、测试版字样

不要过度谦虚地在启动画面或者应用名称上加上”beta”字样,苹果不允许测试版产品上架。

附被拒理由原文:

Your app appears to be a pre-release, test,or trial version with a limited feature set. Apps that are created fordemonstration or trial purposes are not appropriate for the App Store and donot comply with the App Store Review Guidelines.

To ensure compliance with the App StoreReview Guidelines, it would be appropriate to revise your app to complete,remove, or fully configure any partially implemented feature(s).

If you would like to conduct beta trial foryour app, you may wish to review the TestFlight Beta Testing Guide.

15、注册缺少隐私政策

如果应用包含注册功能,注册页面必须提供隐私说明协议按钮或者链接。另外在 iTunes connect 提交新版本的时候,Privacy Policy URL 必须要填写。

附被拒理由原文:

We noticed that your app includes accountregistration or access to users’ existing accounts but does not include aprivacy policy, which does not comply with the App Store Review Guidelines.

Please update your app metadata to includea privacy policy and ensure that the privacy policy URL you provide directs theuser to the intended destination.

16、应用出现崩溃、加载失败等bug

审核期间出现崩溃会导致审核被拒。 ASO100.com 建议,在审核期间务必保证服务器稳定,避免审核人员审核时出现内容加载失败的情况,导致被拒。

附被拒理由原文:

We discovered one or more bugs in your appwhen reviewed on iPhone running iOS 8.1.2 on both Wi-Fi and cellular networks.Specifically, no content is fetched whenusers launch the app.Please see the attached screenshot/s for more information.It would be appropriate to revise suchissue(s) in your application.

Next Steps

Please run your app on a device to identifythe issue(s), then revise and resubmit your app for review.

17、应用描述、截图和应用功能不符

如果应用的描述或截图介绍的功能在审核期间没有体现,则会被拒绝,如果介绍文案不够详细也会有一定概率被拒。

附被拒理由原文:

We found that your app did not achieve thecore functionality described in your marketing materials or release notes, asrequired by the App Store Review Guidelines.Specifically, your app does not include thefeature of 微信朋友圈分享that is written in your release note.It would be appropriate to revise your appto ensure this feature is fully implemented or to revise your ApplicationDescription, Release Notes, and/or screenshots to remove this content.

18、应用包含应用推荐功能

除特殊情况,苹果明令禁止应用内推荐其他APP。

附被拒理由原文:

The 应用推荐 feature in yourapp displays or promotes third-party apps, which violates the App Store Review

Guidelines. We’ve attached screenshot(s) for your reference.

Next Steps

Please remove the 应用推荐featurefrom your app.

19、应用包含不正确的诊断功能

如果你的应用中,包含不真实的系统检测或优化功能,苹果会认为这项功能有误导用户的嫌疑,审核时会被拒绝。

附被拒理由原文:

We noticed that your app providespotentially inaccurate diagnostic functionality for iOS devices to the user.

We’ve attached screenshot(s) for yourreference.

Next Steps

Currently, there is no publicly availableinfrastructure to support iOS diagnostic analysis. Therefore your app mayreport inaccurate information which could mislead or confuse your users. Weencourage you to review your app concept and incorporate different content andfeatures that are in compliance with the App Store Review Guidelines.

20、应用提交的新版本与上一版差异过大

如果你提交的新版本应用与上一版相比,功能上变化过大,比如将游戏升级为工具类应用,或在新版本中完全改掉前一版产品的功能,则会被苹果拒绝。

附被拒理由原文:

We found that your app did not achieve thecore functionality described in your marketing materials or release notes, asrequired by the App Store Review Guidelines.Specifically, the app has a whole contentswap from a Game app to a Mobile Data Tracking app, which does not provide agood user experience when updating the app.It would be appropriate to revise your appto ensure this feature is fully implemented or to revise your ApplicationDescription, Release Notes, and/or screenshots to remove this content.If your iTunes Connect Application State isRejected, a new binary will be required. Make the desired metadata changes whenyou upload the new binary.

21、应用违反当地法律法规

应用程序必须遵守上线地区的法律法规,禁止含有赌博、色情、有偿陪伴等违反法律的内容,尤其为用户提供付费社交服务的APP,例如在线直播类APP,必须严格遵守相关规定。

附被拒理由原文:

Your app contains content – or facilitates,enables, and encourages an activity – that is not legal in all of the locationswhere the app is available. Specifically, your app is advertised as a platformto provide paid companionship services.We’ve attached screenshot(s) for yourreference.

Next Steps

We encourage you to review your app conceptand incorporate different content and features that are in compliance with theApp Store Review Guidelines.

22、应用作者名与金融机构名字不一致

针对理财、P2P等金融相关产品,苹果增加规定开发者的名字必须与APP内的金融机构名字保持一致,否则会被拒。

且由同一品牌的金融机构提供服务的APP,必须发布在同一个开发者账号跟名称下。如果你已经代表委托人或者公司发布了这些APP,你的委托人或者公司应该注册iOS开发者账号,并把你添加到他们的开发者账号里,这样你就可以在他们账号下面提交并发布APP了。

附被拒理由原文:

We found that the Seller and/or Artistnames associated with your app do not reflect the name of the financialinstitution in the app and/or its name and metadata.To be appropriate for the App Store, yourapp must be published under a Seller name and Artist name that reflects thefinancial institution brand, as required by the iOS Developer Program LicenseAgreement.

Section 1.2:

“You” and “Your” meansand refers to the person(s) or legal entity (whether the company, organization,educational institution, or governmental agency, instrumentality, ordepartment) using the Apple Software or otherwise exercising rights under thisAgreement. For the sake of clarity, You may authorize contractors to developApplications on Your behalf, but any such Applications must be submitted underYour developer account.

If you have published these apps on behalfof a client, it would be appropriate for your client to enroll in the iOSDeveloper Program, then add you to their development team so you can develop anapp for them to submit under their developer account.

23、应用提供功能过于简单

应用内的功能不能太过单一,苹果虽然理念中提倡“简单”,但并不代表能接受功能不够完善的应用,他们对应用的核心要求,是希望能够给用户更有价值的体验。当然,如果你的产品太有创意,可能苹果的审核员没能理解它的独到之处,这样的情况下,你可以通过申诉来更详细的描述产品优势,以便通过审核。

附被拒理由原文:

We found that your app only provides a verylimited set of features. It only provides an augmented reality reader mechanismwith no other functionality. While we value simplicity, we consider simplicityto be uncomplicated – not limited in features and functionality.

We understand that there are no hard andfast rules to define useful or entertaining, but Apple and Apple customersexpect apps to provide a really great user experience. Apps should providevaluable utility or entertainment, draw people in by offering compellingcapabilities or content, or enable people to do something they couldn't dobefore or in a way they couldn't do it before.

We encourage you to review your app conceptand evaluate whether you can incorporate additional content and features to bein compliance with the Guidelines. For information on the basics of creatinggreat apps, watch the video The Ingredients of Great Apps.If you feel we didn'tunderstand the features of your app, or that we missed key functionality, andyour app was incorrectly rejected, you may appeal to the App Review Board.

ios开发审核交流群 869685378 欢迎各位大牛来分享交流 IOS,马甲包,低要求,内容开发没有限制,报酬丰厚,实力诚信 Q:782675105 

2018-05-04 20:51:35 Jesse0308 阅读数 10782

苹果审核依据的审核标准有2个,一个是《App Store 审核指南》,一个是《苹果开发者计划许可协议》。
最近好多朋友问我因金融许可证被拒后是怎么过审的,我们都知道 从17年开始 .苹果对APP的审核越来越严格,同时审核依据越来越紧跟国内的政策走,比如国家对金融监管越来越严,金融类应用的审核开始收紧;比如今年国家对金融监管和VPN监管收紧,大量VPN类应用被下线,我最爱的 VPN大师 也惨遭苹果毒手, 既然苹果审核严了, 我们只能乖乖的遵从人家的规则: 那么对于金融类APP,被拒苹果要求提供3.2.1中7条资质证明,如果你们公司只是没有金融许可证看我下面的讲解也许会对你有帮助,如果营业执照和电信增值许可也没有那就没办法了(让公司老板去搞吧),下面讲一下我的个人经验。常见的APP审核被拒原因有一下几类:
PLA 1.2没有贷款资质被拒、
PLA 3.2(f) 不诚信或欺诈被拒、
Guideline 2.1 -Performance – App Completeness应用完整性被拒、
Guideline2.3.10 – Performance – Accurate Metadata准确的元数据被拒、
Guideline 4.2 -Design – Minimum Functionality最低功能要求被拒、
Guideline 4.3 -Design – Spam 垃圾应用被拒。

一 没有贷款资质被拒

被拒理由:
PLA 1.2 《苹果开发者计划许可协议》1.2

The seller and company names associated with your app do not reflect thefinancial institute in the app or its metadata, as required by section 1.2 ofthe Apple Developer Program License Agreement.

应用的开发商名称和公司名称与应用或应用元数据中的金融机构不匹配,违反了《苹果开发者计划许可协议》1.2

Next Steps 下一步行动

Your app must be published under a seller name and company name thatreflects the financial institution name. If you have developed this app onbehalf of a client, please advise your client to add you to the developmentteam of their Apple Developer account.

你的应用必须在反应“金融机构名称”的开发商名称和公司名称下发布。如果你代表客户开发了这些应用程序,请建议你的客户将你加入他们的苹果开发者账户。
被拒原因分析
1.app的公司主体,没有提供金融服务的资质;
2.金融类app只能在app公司主体的开发者账号上传,不能在个人或委托公司的开发者账号上传;
3.app名称没有反映公司品牌;
4.app名称与公司名称不对应,未产生品牌归属及关联性;
应对方式
1、证明你的公司,有提供金融服务的资质。

如果app确实是提供的金融服务,app的公司主体有提供金融服务的资质,可将资金证明(如营业执照)发给苹果审核团队。

如果app是提供的金融服务,但是没有相关资质,需要将app放在有资质的公司主体的账号下提交。

如果app不是提供金融服务,但苹果误以为是金融服务,可向苹果解释业务模式,并提供相关证明,比如p2p模式,比如助贷模式。
2、如果是个人开发者账号提交的应用,将个人开发者账号升级为企业开发者账号后,再提交;
3、如果是其他开发者账号(比如外包)替你开发,按照苹果要求走,将其他开发账号添加到你的苹果开发者账号下(在“用户和职能-添加iTunes Connect用户”操作);
4、修改app名称,让app名称和公司品牌有关联。如公司是“马上消费金融股份有限公司”,app名称可以修改为“马上贷”后,重新提交;
5、提交“软件著作权登记证书”,或者“商标证书”,向苹果证明产品名称与公司的关联性;
6、向苹果审核团队阐述app功能的运营主体、技术支持网站等,来证明app和公司的的所属关系;

如,在你的app“关于我们”中,中英文介绍公司,介绍产品归属该公司。

如,技术支持网站,进一步介绍公司和说明产品归属该公司。

二、不诚信或欺诈被拒

被拒理由:
We have determined that your Apple Developer Program membership, oranother membership associated with your developer account, has been used fordishonest or fraudulent activity. This is prohibited by Section 3.2(f) of theApple Developer Program License Agreement:

我们已经确定你的苹果开发者计划会员资格或与你的开发者帐户相关联的其他会员资格(同一个开发者,有两个或者多个会员账号)已被用于不诚实或欺诈活动。《苹果开发者计划许可协议》第3.2(f)节是禁止这一行为的:

“You will not, directly or indirectly, commit any act intended tointerfere with the Apple Software or Services, the intent of this Agreement, orApple’s business practices including, but not limited to, taking actions thatmay hinder the performance or intended use of the App Store, B2B Program, orthe Program. ”

“你不得直接或间接地采取任何旨在干扰苹果软件或服务、本协议的意图或苹果的商业惯例的行为,包括但不限于采取可能阻碍App Store、B2B计划或本计划的执行或预期用途的行为。”

As a result of this activity, you are no longer able to submit updates.

由于此活动,你将无法再提交/更新应用。

Continuing to engage in dishonest or fraudulent acts may result in theremoval of your apps from the App Store and termination of your Apple DeveloperProgram membership and all associated memberships.

继续从事不诚实行为或欺诈行为可能导致从App Store中删除你的应用,并终止你的Apple开发人员计划会员资格和所有相关会员资格。
被拒原因分析
1、首先,苹果审核人员已经确定你的苹果开发者计划会员账号已被用于不诚实或欺诈活动;
2、或者你的会员账号没有违规,但和你账号关联的其他开发者账号有违规,被苹果审核人员发现;
3、你的行为违反了《苹果开发者计划许可协议》第 3.2(f)节;
4、由于这些违规行为,苹果给你做出的处罚是“禁止你继续提交/更新该应用”;
5、如果你执迷不悟,继续从事这些违规行为,苹果可能会将你的应用下架、封停开发者账号,并终止你的 Apple 开发人员计划会员资格等;
6、苹果在这里提到了3.2(f)相关的内容:“你不得直接或间接地采取任何旨在干扰苹果软件或服务、本协议的意图或苹果的商业惯例的行为,包括但不限于采取可能阻碍App Store、B2B计划或本计划的执行或预期用途的行为。”但是没有针对这些内容的详细示例说明。笔者通过进一步查看苹果官方文档上的PLA3.2(f),发现这些都是属于违反3.2(f)的内容:
为您的应用或任何第三方应用提交虚假评论;
选择和第三方应用类似的名字以混淆用户的视听;
占据其他应用的名字来防止合法的第三方使用;
你可对账你的开发者账号或马甲包账号看看,十有八九违反其中的某一条或多条;
应对方式
PLA3.2(f) 是苹果非常严厉的处罚,应用已无法通过更新来修正后再次提交审核,严厉程度仅次于注销账号。针对这种情况,你可以从以下几个方面来努力。
1、如果有刷榜、刷评论行为,停止刷;
2、如果和本开发者账号有信息关联或转让关系的马甲包在刷榜、刷评论,也立刻停止;
3、和本开发者账号有信息关联或转让关系的马甲包最好不要更新,更新也会被拒绝;
4、不要创建占位的应用,如果已经创建,改名;
5、不要去淘宝或其他交易平台买苹果开发者账号;
6、如果要新建马甲包提审,重新申请和已有账号无信息关联的新账号。这里的“无信息关联”包括但不限于:邮箱账号的域、账号所有人、IP地址、Mac地址、邓白氏编码联系人/联系方式/办公地址、支付信用卡账号、发票抬头等。
7、停止一切有可能的违规行为后,找苹果App 审查委员会申诉;
**

三、应用完整性被拒

**

被拒理由
We discovered one or more bugs inyour app when reviewed on both iPhone and iPad running iOS 10.3.3 on Wi-Ficonnected to an IPv6 network.

在IPv6网络的Wi-Fi,iOS10.3.3的iPhone和iPad环境下,我们在你app上发现一个或多个bugs。

Specifically, we were unable tomake a loan application.

具体来说,我们没法申请贷款。

Please see attached screenshotsfor details.

详情见附件截图。

Next Steps 下一步行动

To resolve this issue, please runyour app on a device to identify any issues, then revise and resubmit your appfor review.

为了解决这个问题,请通过在设备上运行你的app来找到所有问题,修改后再次提交审核。
被拒原因分析
因为bug导致审核人员无法进行核心功能(申请借款)的操作,中断审核过程。

我们后面分析发现,我们其实是没有bug的,但是苹果审核团队很难理解这个逻辑和交互,以为是bug,导致被拒。
应对方式
1、确保提交的产品没有bug,特别是bug不能影响核心功能的操作使用。
2、提供给苹果审核团队的账号,需要能体验核心功能。比如借款类APP,需要能提交借款申请。
3、产品功能的逻辑和交互,按照普通人能理解、能接受的逻辑走,不要晦涩难理解。
**

四、准确的元数据被拒

**

被拒理由
We noticed that your app or itsmetadata includes irrelevant third-party platform information.

我们注意到,你的应用或应用的元数据包含了不相关的第三方平台信息。

Referencing third-party platformsin your app or its metadata is not permitted on the App Store unless there isspecific interactive functionality.

除非有特定的交互功能,否则在App Store中引用第三方平台或其元数据是不允许的。

Please see attached screenshotsfor details.

详情请见附件的截图。

Next Steps下一个步骤

To resolve this issue, pleaseremove all instances of this information from your app and its metadata,including the app description, What’s New info, previews, and screenshots.

为了解决这个问题,请从你的应用和它的元数据中删除所有这些信息,包括应用描述、最新动态、预览和截图。
被拒原因分析
1、原因是我们的应用预览图中,有一页展示的功能是提审的APP没有,苹果审核团队会认为这是第三方平台的东西。
2、第三方平台的数据,包括第三方公司名称、公司logo等,不能出现在你的应用(包括关于我们、协议等),三方公司名称、公司logo、app没有的功能点不能出现在的应用描述、最新动态、预览图、截屏中。
3、当然,苹果的产品最好也不要出现在你的应用或应用描述、最新动态、预览图、截屏中。
应对方式
严格按照苹果规定的方式走。提审前,核查应用、应用综合信息、应用版本信息中是否有第三方的元素。
**

五、最低功能要求被拒

**

被拒理由
We found that the usefulness ofyour app is limited by the minimal amount of content or features it includes.

我们发现,你的应用的实用性被应用过于简单的内容或特性的所限制。

Next Steps 下一步行动

We encourage you to review yourapp concept and incorporate different content and features that are incompliance with the App Store Review Guidelines.

我们鼓励你审视你的app概念,提现不同的内容和功能,以符合App Store审核指南
被拒原因分析
1、简单来说,就是你的app功能太过简单,没有达到一个app应用的标准,不具备提交到appstore的资格。
2、通过进一步查看苹果官方的Guideline 4.2,其内容如下:
App 应包含功能、内容和 UI,而不仅仅是一个经过重新包装的网站。
如果 app 没有什么实用价值、毫无新意或者不太像是一个 app,那它就不适合出现在 App Store 中。
如果 app 不能带来持久的娱乐价值,或只是让人感到毛骨悚然,则无法获得批准。
如果 app 只是一首歌曲或一部影片,则应提交到 iTunes Store。
如果 app 只是一本书籍或游戏指南,则应提交到 iBooks Store。
3、Guideline4.2.1 App 应该为实现预期用途而使用 API 和框架,并在 app 描述中说明集成详情。例如,HomeKit 框架应提供家居自动化服务,HealthKit 则应该用于保持健康和健身目的,并集成在“健康”app 中。
4、Guideline4.2.2 除了目录类 app 之外,app 不应只用于市场营销材料、广告、网络剪报、内容聚合或链接集合。
5、Guideline4.2.3 App 应能独立工作,无需安装其他 app。
6、Guideline4.2.4 与表盘类似的 Apple Watch app 可能会令人感到困惑,因为用户会认为这些 app 能与各种设备功能 (如轻扫、通知和第三方功能栏) 配合使用。将创意性的时间表现方式用作 app 界面是个好点子 (例如,供冲浪者使用的潮汐时钟),但是如果您的 app 与表盘过于相像,则可能会被我们拒绝。
7、Guideline4.2.5 主要用作 iCloud 和 iCloud Drive 文件管理器的 app 需要包含更多的 app 功能,才能获得批准。
8、Guideline4.2.6 利用商业化模板或 app 生成服务创建的 app 会被拒绝。
应对方式
苹果审核指南里说得非常清楚,你要做的就是做良民,遵循苹果标准,提交有价值、符合规范的应用。同时需需要注意:
避免功能过于简单;
简单的资讯聚合、链接聚合app,会被拒绝;
不用提交使用商业化模板创建的应用;

六、垃圾应用被拒

被拒理由
Your app duplicates the contentand functionality of apps submitted to the App Store, which is considered aform of spam.

你的应用程序复制了提交给app Store的其他应用程序的内容和功能,这被认为是一种垃圾应用。
Apps that simply duplicatecontent or functionality create clutter, diminish the overall experience forthe end user, and reduce the ability of developers to market their apps.

简单复制内容或功能的应用会造成混乱,降低最终用户的整体体验,并降低开发者推销应用的能力。
You will experience a delayedreview process if you deliberately disregard the App Store Review Guidelines,ignore previous rejection feedback in future app submissions, or use your appto mislead or deceive users.

如果你故意无视App Store的审核指南,在后面提交应用中忽略之前的拒绝反馈,或者使用你的应用来误导或欺骗用户,你将会经历一个延迟的审查过程。
Additional Information 额外信息

We want to provide a safeexperience for users to get apps and a great opportunity for all developers tobe successful.

我们希望为获得应用程序的用户提供安全的体验,同时为所有开发者提供一个成功的机会。
Deliberate disregard of the AppStore Review Guidelines and attempts to deceive users or undermine the reviewprocess is a direct violation of section 3.2(f) of the Apple Developer ProgramLicense Agreement. Continuing to violate the Terms & Conditions of theApple Developer Program will result in the termination of your account, as wellas any related or linked accounts, and the removal of all your associated appsfrom the App Store.

故意无视App Store的评审准则,并试图欺骗用户或破坏审查过程,这直接违反了苹果开发者计划许可协议的第3.2节(f)。继续违反苹果开发者计划的条款将导致你的账户和你关联的账户终止,同时从App Store中删除你的所有相关的应用
被拒原因分析
1、你的应用的功能和别人的没有差异,或者和你自己过审的马甲包一样,甚至代码都一样,被定义为垃圾应用;
2、重复性的应用或简单复制的应用,对用户、开发者的伤害很大,有损于appstore生态的健康;
3、对苹果的警告视而不见、继续违规,你的应用会被延迟审核;
4、如果进一步试图欺骗用户或破坏审查过程,将会受到更严厉的处罚,禁账号、删应用,很严重;
应对方式
1、思想上要重视,你的应用应该有价值、少抄袭或不抄袭,如果是功能雷同也需要有差异点;
2、请不要为同一个 app,在多个账号上传;
3、如果和其他产品有雷同,可通过修改产品分类、产品分发地区等方式,打造与原产品不同的产品侧重属性分类;
4、如果做马甲包,功能需要多一些差异化,减少相同的代码量。苹果可能针对代码进行机审扫描;
对于监管敏感的行业和应用,苹果审核更严,建议大家整理app提审检查清单,包括发者账号申请、app设计、app开发、app信息和版本信息描述等部分的各项细查项。提审前,对照检查,逐一确认,提升app审核通过率。
即便是苹果公司的审核严厉了 只要我们按照审核标准 照样还是可以通过的

经验一

:3.2.1第一条苹果要求提供营业执照中包含网络借贷中介的资质,第一次回复苹果我添加了我们公司的营业执照副本,但是还是被拒了,原因是苹果不知道我们提供的营业执照是否是真实有效的,要求提供可查询营业执照真假的网址。这里建议大家在回复苹果时除了在附件中提供公司营业执照副本的同时,回复下查询执照的网址:http://www.cocoachina.com/bbs/read.php?tid-1735392.html 以及你们公司营业执照上的信用代码供苹果查询证实。营业执照许可范围样本如下

经验二

:3.2.1第二条苹果要求提供金融许可证,相信很多朋友不过都是因为这一条,没有金融许可证,我是这样回复的,首先阐述P2P行业内没有一家平台有资质拿到金融许可证,然后提供我们有的合规证件资料。具体术语以及文本资料如下:
*以下内容仅供参考
Hello,我cao棉!
我们公司属于网络借贷行业,这个行业在中国自2007年拍拍贷(于2017年11月7日在纽交所上市)成立开始,日趋活跃。国家对行业的监管从2016年开始,并与该年8月24日发布了《网络借贷信息中介机构业务活动管理暂行办法》(以下简称“暂行办法”)(官网链接:http://www.cbrc.gov.cn/chinese/home/docDOC_ReadView/D934AAE7E05849D185CD497936D767CF.html),对网络借贷行业开始了正式的监管。各平台据此进行了规范,行业中各机构据此进行规范化经营。
在暂行办法的第二章第五条规定,开展网络借贷信息中介服务的网络借贷信息中介机构及其分支机构需要向工商登记注册地地方金融监管部门备案登记。且说明网络借贷信息中介机构备案登记等具体细则另行制定。基于此,2017年12月13日,P2P网贷风险专项整治工作领导小组办公室于近日向各地P2P整治联合工作办公室下发了《关于做好P2P网络借贷风险专项整治整改验收工作的通知》(57号文)(下称“通知”),对下一步的整改验收阶段做出了具体、详细的部署。通知要求,各地应在2018年4月底前完成辖内主要P2P机构的备案登记工作、6月底之前全部完成。以下为全文:

截至日前,全国没有一家网络借贷中介机构通过备案。我们也在积极准备中,所以无法提供贵司要求的金融许可证,忘理解。
我公司可提供政府批文扫描件、公司合作银行的协议合同扫描件、公司合作的三方支付合作合同在附件中均可供您参考。
*以上内容仅供参考*
这里建议大家尽可能多的把自己公司合规的证据资料发给苹果
经验三:对于3.2.1后四条要求,相信大家各自平台都有相关注册协议或者借款协议等协议里都有说明,建议大家截图APP中页面把协议标注出来放在附件中,同时把协议内容中说明后四条的部分截图出来放在附件中供苹果参考
经验四:相信有的朋友发现在被拒回复框中回复文本字数有限,如果回复苹果内容较多,建议大家把内容合并成pdf格式文件统一上传,注意上传的文件命名最好为英文,个人亲测中文一直传不上去。

2018-10-10 22:18:53 u011212411 阅读数 2124

今年金融行业不好做,p2p暴雷好多家,上半年Android应用市场整顿金融类应用,在华为应用市场被误认为p2p应用而下架,经过上诉上传资质证明得而重新上架,各个应用商店平台陆续需要资质证明。最近应用在苹果商店审核被拒绝,同样也是因为金融类资质的问题。以下为苹果拒绝原文

Guideline 3.2.1 - Business - Other Business Model Issues - Acceptable


We found that your app facilitates loan applications, but the seller and company names associated with your app do not reflect the financial institution in the app or its metadata, as required by Guideline 3.2.1(viii) of the App Store Review Guidelines.

Next Steps

To help us proceed with the review of your app, please provide the following information. The more information you can provide upfront, the sooner we can complete your review.

- Both a copy and the direct link to the government website of your Business License (营业执照)
- A copy of the Rectification Notification issued by the relevant governing authority to your company (当地金融办 (局) 下发给贵公司的「整改通知书」附件)
- A copy of the proof that your company is connected to a bank’s depository system (银行存管证明)
- Your app’s and service’s Terms & Conditions.
- In the case of dispute, what resolution mechanism does your app and service offer?
- What is your responsibility in such case? Is such responsibility stated clearly in the Terms & Conditions?
- How will the involved parties trace one another?

Additionally, please ensure your app’s Support and Privacy URLs in the metadata direct users to the webpages with appropriate information.

Please attach documentary evidence in the App Review Information section in App Store Connect. In accordance with section 3.2(f) of the Apple Developer Program License Agreement, you acknowledge that submitting falsified or fraudulent documentation can result in the termination of your Apple Developer Program account and the removal of your apps from the App Store. Once Legal has reviewed your documentation and confirms its validity, we will proceed with the review of your app.

 

看到这么一大串英文,千万不要慌!看不懂打开翻译软件,无非就是需要提供一些资质证明。查一下资料看看别人是怎么上诉成功的,千万不要盲目听信代上架公司的,五万块钱呢,还是可以省下的。

要求的证件照,找总裁办提供,扫描件加水印。没有的话,可以委婉说明情况或不提。营业执照肯定得有的哇!整改通知书这个不见的都有,我没有也没有提。银行存管证明公司合规的话也应该都会有。金融许可证这个比较难办了,没有也不要紧。尽量把公司的有利证书都放上,来弥补其他的不足之处。

注意营业执照和icp备案最好配上查询地址,不然人家不知道你这个证件真的假的,我第一次上诉的时候没有加查询地址,被拒绝了可能有这方面影响。

国家企业信用信息查询链接:http://www.gsxt.gov.cn/index.html

增值电信业务经营许可证查询链接: https://tsm.miit.gov.cn/pages/home.aspx

第一次上诉审核的时间比较长,等了7天,结果还是被拒绝了,可能提供的资料太简陋了。第二次上诉审核的时间就快了,第二天就通过了。

第二次我是准备了一份pdf文件。以下是目录

一、我司情况说明(描述一下公司真实情况)

二、纠纷解决(发生纠纷了如何解决的,找法务部提供一下)

三、账户使用协议(App中账户使用协议入口截图,协议内容截图)

四、营业执照(注释查询地址)

五、icp备案(注释查询地址)

六、银行存管证明

 

这是我的经历和解决方法,希望能够帮助到您,祝您上诉成功!