官方微信公众平台

APP上架被拒原因


发布时间:2018-08-03
上架被拒的原因
  • 元数据错误
    • 测试账号登录不上去
    • 当app上架截图仅仅只有启动页的时候,他会认为你的截图没有充分展示app的使用情况
  • 程序有重大bug
    • 程序不能启动,或者中途退出。程序若有crash被拒.修改bug后重新上线即可.千万避免这种情况,上架前都要测试 OK.
  • 审核状态中属于正式环境,不要有测试数据
    • 任何数据同样不要有“试用”,“演示”,“试用”,或“测试”版本 字眼,一定要跟服务器同事说好,上线时候正式库的数据、测试字眼英语单词哪怕拼音最好也不要出现,会被拒的。
  • 更新版本
  • 当上架时,如果在app里看到更新版本的字眼,会被狠狠地拒绝
  • VIP 会员 绕过苹果的付费渠道

    • 比如说直播app中的礼物,只能通过苹果内购来购买,不能通过支付宝微信来购买.
  • 正确选择评级
  • 之前一个朋友做过一个app是婚恋类型的 更适合成人观众。年龄设置太低,说是有成人内容,被拒.修改内容后上线.
  • 启动页报错
    • 这个时候需要先检查图片尺寸是否正确,接着清空 Launch Screen File ,上面 Launch Image Sourc里 不再选择Brand Assets.
  • 技术支持地址
    • 不能写微博地址
    • 地址打不开也会被拒绝上架
  • 视频没有举报功能
    • 由于视频没有举报功能,被拒绝上架.
  • app 注册功能
    • 一半app都有三方注册,比如说微信注册,如果手机没有微信,则需要将微信图标隐藏掉
环信
  • 环信聊天

/*! @enum @brief 群组类型 @constant EMGroupStylePrivateOnlyOwnerInvite 私有群组,创建完成后,只允许 Owner 邀请用户加入 @constant EMGroupStylePrivateMemberCanInvite 私有群组,创建完成后,只允许 Owner 和群成员邀请用户加入 @constant EMGroupStylePublicJoinNeedApproval 公开群组,创建完成后,只允许 Owner 邀请用户加入; 非群成员用户需发送入群申请,Owner 同意后才能入组 @constant EMGroupStylePublicOpenJoin 公开群组,创建完成后,允许非群组成员加入,不需要管理员同意 @discussion eGroupStyle+Private:私有群组,只允许群组成员邀请人进入 eGroupStyle+Public: 公有群组,允许非群组成员加入 */群人数(不支持修改,目前上限为2000人)

MVVM设计模式
  • 每一位iOS开发者,用的最多、最熟悉的设计模式估计就是MVC设计模式了。因为苹果为我们提供的框架就是使用MVC设计模式的。MVVM设计模式其实有很多概念和MVC很相似。

  • Model 与业务和验证逻辑有关的域模型,都可以认为是MVVM中的Model。比如:业务对象,数据传输对象(DTOs),实体,代理对象等等都可以认为是Model。 这里的Model与MVC中的Model一样。

  • View View负责定义页面结构,布局用户在屏幕上看到的界面。在iOS开发中,View一般是程序中的一个页面。一个View也可以是父View的一部分。 每个View都有自己的View Model,或者它从父View中继承了View Model。View通常是通过通过View Model的绑定,或者调用View Model中的方法来获取数据。在运行的时候,UI控件要响应View Model抛出通知事件,来更新UI。
  • ViewModel View Model扮演着View和Model的中介角色,它负责处理视图逻辑和数据转化。一般来说View Model通过调用Model的方法来和Model进行交互。View Model随后将从Model中获取的数据以一种view容易使用的格式提供给View。

MVVM好处

在开发过程中,开发人员和设计人员能并行的工作。设计师能专注于界面,而开发人员能专注于业务逻辑和数据逻辑。有效提高开发效率。 开发人员能View Model和Modle创建单元测试。对View Model进行单元测试的效果就像对View进行单元测试一样。但是测试的时候并不需要运行程序。 修改UI代码而不必去碰其他代码。 对于包含了业务逻辑的Model,修改的话风险较大,此时可以将View Model当作适配器来使用,从而避免对Model代码做大的修改。

支付流程

首先需要理清楚流程:

用户使用APP客户端,选择商品下单。 商户客户端(就是你做的APP)将用户的商品数据传给商户服务器,请求生成支付订单。 商户后台调用统一下单API向微信的服务器发送请求,微信服务器生成预付单,并生成一个prepayid返回给商户后台。 商户后台将这个prepayid返回给商户客户端。 用户点击确认支付,这时候商户客户端调用SDK打开微信客户端,进行微信支付。 微信客户端向微信服务器发起支付请求并返回支付结果(他们之间交互用的就是prepay_id这个参数,微信的服务器要验证微信客户端传过去的参数是否跟第三步中生成的那个id一致)。 用户输入支付密码后,微信客户端提交支付授权,跟微信服务器交互,完成支付 微信服务器给微信客户端发送支付结果提示,并异步给商户服务器发送支付结果通知。 商户客户端通过支付结果回调接口查询支付结果,并向后台检查支付结果是否正确,后台返回支付结果。 商户客户端显示支付结果,完成订单,发货。 虽然看起来有点多,但是理解起来并不复杂,跟我们平时手机上买东西是一样的。我们客户端需要做的就是

调起微信客户端发起支付 显示支付结果

微信中的坑: 如果app中有友盟分享(微信分享), 同时又继承了微信支付sdk,那么就会产生冲突,两个sdk中都有关于微信支付sdk的东西,需要删除一个

支付宝中的坑: 1.在支付宝SDK导入后,会报下面的错误,请问怎么解决呀?

Undefined symbols for architecture armv7: "OBJCCLASS$UTDevice", referenced from: objc-class-ref in AlipaySDK ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决办法:将支付包SDK Demo 中的 SDK 替换你所导入的sdk,这样就不会报错了.

  1. base64.h的报错 在报错的文件import foundation 框架

3.openssl/asn1.h' file not found 解决办法 首先 build setting ->Header Search Paths 然后 添加路径$(SRCROOT)/项目名称 注意:不要忘了将官方demo中的两个.a文件导入到自己的项目

iOS 实现程序内评价

在ios 10.3之后,系统提供了一个SKStoreReviewController类,可以帮助在app内部实现评价。

方法如下:

[SKStoreReviewController requestReview];效果如下:

image.png

点赞之后:

image.png

由于是测试app,所以提交按钮是灰色的,正式版是能够提交的


技术总结:济宁远之航网络科技技术二部付连贞


  • 专注于服务电商领域

  • 资深电商服务专家

  • 一对一专属会员经理

  • 365万用户诚意推荐

业务QQ:1014905292

业务电话:13053758877

客服电话:400-032-5039

服务时间:08:00 — 18:00

扫一扫了解详情

All Rights Reserved © 2014-2019 鲁ICP备14000487号-4 山东远之航信息技术有限公司 |

鲁公网安备 37081102000368号