iOS-应用提交被拒原因(更新按钮、微信登陆)

1.不得包含更新按钮

Design Preamble
Your app includes an update button or alerts the user to update the app. To avoid user confusion, app version updates must utilize the iOS built-in update mechanism.
We've attached screenshot(s) for your reference.
Next Steps
Please remove the update feature from your app. To distribute a new version of your app, upload the new app binary version into 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 ID as the original version, and are available free to customers who purchased a previous version.

神奇的是,这个更新功能在之前的版本就有,并不是这次提交才加上去的。而之前都审核通过了,这次才给退回来。感觉每个审核人员的标准不一样,又或者是某些员工偷懒。。

解决办法:

将更新按钮去掉,改成弹窗式提醒更新。
在合适的地方加入这个业务逻辑,判断本地的版本号和APP Store上的版本号,若APP Store的版本更高则弹出提示框提醒更新。
这样做的好处是审核人员审核时永远不会弹出该弹窗,审核通过后用户使用提醒更新的功能是正常的。

Swift代码:
func remindUserToUpdate() {
        let localVersion = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
        let URL = "http://itunes.apple.com/cn/lookup?id=\(APP_ID)" //APP_ID对应应用的apple id
        HTTPTool.GET(URLString: URL, parameters: parameter, success:{ (responseObject) in
            let results = responseObject["results"] as! NSArray
            let newestVersion = (results[0] as! NSDictionary)["version"] as? String
            if newestVersion != nil {
                //比较两个版本号
                if (localVersion! as NSString).compare(newestVersion!) == .OrderedAscending {
                    let alertVC = UIAlertController.init(title: "升级提示", message: "您的当前版本为V\(localVersion),发现新版本V\(newestVersion!),是否现在下载新版本?", preferredStyle: .Alert)
                    let cancelAction = UIAlertAction.init(title: "下次再说", style: .Cancel, handler: nil)
                    let okAction = UIAlertAction.init(title: "现在升级", style: .Default, handler: { (action) in
                        let url = NSURL.init(string: "itms://itunes.apple.com/cn/app/he-bi/id\(APP_ID)?mt=8")
                        UIApplication.sharedApplication().openURL(url!)
                    })
                    alertVC.addAction(cancelAction)
                    alertVC.addAction(okAction)
                    self.presentViewController(alertVC, animated: true, completion: nil)
                }
            }
            }, failure: { (error) in
                debugLog("获取版本信息失败\(error)")
        })
    }

2.微信第三方登陆

We were required to install WeChat before we could sign in with WeChat mechanism. Users should be able to sign in and access their account, without requiring additional applications to be installed.
Next Steps
If you choose to allow users to sign in via WeChat, please use methods that can authenticate users from within your app, such as a native web-view.

这个可以说是非常普遍的被拒原因,一般有第三方登陆的如果不注意这个问题都会被拒。苹果要求没有安装微信的用户也一样可以使用微信登陆(通过WebView的方式)

解决办法:

因为这个问题的普遍性,实际上微信已经开发出了新的API可以解决这个问题,但是在官网上并没有说明这个新的API。
新的接口在WXApi.h中可以查看,具体如下:

/*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp
 *
 * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。
 * @param req 具体的发送请求,在调用函数后,请自己释放。
 * @param viewController 当前界面对象。
 * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
 * @return 成功返回YES,失败返回NO。
 */
+(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id<WXApiDelegate>) delegate;

使用了这个接口后,在没有安装微信的iPhone上点击微信登陆会拉起网页(使用手机验证码登陆):


注意:

如果你的是IPhone应用,那么以上所说的接口可以很好解决微信登陆的问题。但是如果你的是IPhone/IPad应用,那么就该换另外一个解决办法了。因为该接口只支持IPhone,IPad无法接收短信,所以没办法实现验证码登陆的功能。

这时候只能用最原始的办法去解决了:判断应用是否安装微信,没安装则隐藏掉微信登陆按钮。

以上解决办法均可通过苹果审核并上架,亲测。

关于我

我是可乐,在职iOS开发,业余时间独立开发App,现有上架作品:Mini记账
公众号:沙拉可乐 分享独立开发的干货和背后的故事

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容