Apple拒绝app 10.6,因为Facebook打开Safari登录

问题描述:

我发送了另一个版本的应用,允许用户通过Facebook登录。当然,我使用的是官方的Facebook iOS SDK。

I sent another version of my app, that allow users to login via Facebook. Of course, I use official Facebook iOS SDK.

但是苹果公​​司两次拒绝了我的应用程序,理由如下:

But Apple twice rejected my app with following reason:


该应用程序在移动版Safari中打开一个用于登录的网页,然后将用户返回到该应用程序。用户应该能够在不首先打开Safari的情况下登录。

The app opens a web page in mobile Safari for logging in, then returns the user to the app. The user should be able log in without opening Safari first.

我试图获得更多信息,评论者的答案是:

I tried to get more info, and reviewer's answer was:


感谢您的回复。我们审核了您的应用版本3.2.1,当用户点击Facebook登录时,用户将被带到移动版Safari,然后返回应用。

Thank you for your response. We reviewed your app version 3.2.1 and when the user taps Facebook to login, the user is taken to mobile Safari and then back to the app.

它提供了糟糕的用户经验并且不符合指南。

It provides poor user's experience and not in compliance with the Guidelines.


感谢您的回复。允许用户在应用程序内登录而不重定向到移动版Safari是合适的。

Thank you for your response. It would be appropriate to allow the users to login inside the app without redirecting to mobile Safari.

为什么只有我的应用程序出现此错误,当几十个应用程序以这种方式使用Facebook iOS SDK并且不会被拒绝时?

Why only my app got this error, when dozens of apps using Facebook iOS SDK this way and don't get rejects?

Facebook iOS SDK中是否有办法在应用程序内打开登录页面?

Is there way in Facebook iOS SDK to open login page inside app?

Google+ SDK也会出现同样的问题,该应用可能因同样原因被拒绝:

The same issue happens with the Google+ SDK, the app could be rejected for the same reason:


原因

Reasons

10.6 :Apple和我们的客户非常重视简单,精致,创意,通过界面深思熟虑。他们需要更多的工作,但价值b
。苹果设置了很高的标准。如果您的用户界面很复杂或
低于非常好,可能会被拒绝
----- 10.6 -----

10.6: Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good, it may be rejected ----- 10.6 -----

我们在您的应用的用户界面中发现了以下问题:

We found the following issue with the user interface of your app:

该应用在移动版Safari中打开一个网页,用于创建帐户或登录Google+的
帐户,然后将用户返回到应用程序。
用户应该可以创建一个帐户或登录而无需先打开
Safari。

The app opens a web page in mobile Safari for creating an account or logging in for Google+ account, then returns the user to the app. The user should be able to create an account or log in without opening Safari first.

所以最好的解决方案是通过嵌入式WebView移动服务器端oAuth 2.0,SDK不允许你自动处理这个问题(比如Facebook SDK),至少在这些SDK没有进行更新来处理嵌入式WebView用例之前。

So the best solution is to move the server-side oAuth 2.0 through the Embedded WebView where the SDK does not let you to handle this automatically (like the Facebook SDK), at least until those SDKs does not make an update to handle the Embedded WebView use case.