在 iOS 中让 Google OAuth 被 Apple 接受

Posted

技术标签:

【中文标题】在 iOS 中让 Google OAuth 被 Apple 接受【英文标题】:Getting Google OAuth in iOS accepted by Apple 【发布时间】:2012-07-09 04:34:43 【问题描述】:

我开发了一个 ios 应用,允许用户使用 OAuth 通过他们的 Google 帐户登录。

因涉嫌违反 App Store Review Guidelines 11.13 被 Apple 拒绝:

11.13 Apps that link to external mechanisms for purchases or subscriptions to be used in the app, such as a “buy" button that goes to a web site to purchase a digital book, will be rejected

在询问更多信息时,Apple 表示:

To clarify, your app has been rejected for including means for users to acquire new Google accounts. Linking customers to a page where users may sign up or register new accounts, and then use those accounts to purchase service/server space to be used within the app, is not appropriate and must be removed before resubmitting your app.

这是侵权功能的截图:

Gmail iOS 应用具有相同的屏幕,我找不到任何其他通过 OAuth 连接到 Google 的应用,所以我不知道如何解决这个问题。

有什么想法吗?

非常感谢!

编辑:这是 Gmail 中相同违规屏幕的屏幕截图

【问题讨论】:

我的 Google 帐户显示我的 iOS 设备上的 Reeder 有一个 OAuth 令牌,如果您正在寻找一个应用程序作为示例。 我不完全确定 SO 是否适合提出应用审核问题,但您是否尝试过提出上诉并要求提供更多信息?如果我在你的鞋子里,那将是我的第一条途径。 我肯定在调解中心提出上诉,但想公开询问是否有人曾经经历过这种情况。 @ipsim 发生了什么?您是否找到了解决方案或更改了应用中的某些内容? 【参考方案1】:

我也遇到了同样的事情,但服务不同(SmugMug)。在我的情况下,我与 SmugMug 合作,他们为我提供了一个没有注册按钮的 OAuth 授权页面。

几个月前,same thing with Dropbox。 Dropbox 也最终暂时提供了一个没有注册按钮的登录页面,但他们与 Apple 合作得更多。

也许我们可以尝试共同让 Google 提供相同的服务。尽管我们是 iOS 开发人员,但我确信 Google 希望支持开发使用其平台的 iOS 应用程序。

您是否尝试过联系 Google?

【讨论】:

我曾尝试联系 Google,但几乎无法联系到他们。新的 Google+ iOS 应用使用不同的 OAuth 登录 URL,没有“注册”组件。如果我有时间,我可能会使用网络嗅探器来查找该 url 并使用它。我现在所做的是拦截 html 并删除有问题的“注册”组件,但这违背了在应用程序不进行任何操作的情况下处理身份验证的目的。 也许 google-oauth 的人值得一问? code.google.com/p/gtm-oauth【参考方案2】:

放置下面提到的链接而不是注册按钮:

https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fca%2F&ltmpl=default&hl=en

此链接应在 iOS Safari 浏览器中打开。

【讨论】:

【参考方案3】:

编辑

Google 终于添加了一个执行应用内登录的原生库。您可以在这里找到它https://developers.google.com/identity/sign-in/ios/start

原帖

这已经发生在几个用户身上,不幸的是,谷歌仍在“努力”寻找解决方案。

我强烈建议遇到此问题的任何人请在official forum 中发表评论。它得到的关注越多,采取措施的机会就越大。以下是 Google 的一位员工所说的:

大家好 - 在 Google,我们的目标是让尽可能多的人使用我们的服务 尽可能多的用户和开发人员。我们听到了极少数的 此类问题的报告,但那些应用程序开发人员似乎 最终通过 Apple 的合作获得了发布的批准 标准流程。

与此同时,我们将继续致力于改进登录机制。一世 同意 Daniel 直接使用 GTMOauth2ViewControllerTouch, 或等效的 UIWebView 诡计,不推荐。

现在我使用的解决方案是从启动屏幕中删除登录并将其移动到我们应用程序内的菜单。

【讨论】:

以上是关于在 iOS 中让 Google OAuth 被 Apple 接受的主要内容,如果未能解决你的问题,请参考以下文章

iOS 从 Google + OAuth 数据中解析用户信息

Alexa 帐户与 Google OAuth 的链接错误

iOS上的Google OAuth 2隐式流程,手动刷新令牌

1 次成功认证后发生 IOS Google OAuth 错误

iOS 中的 Google OAuth2 问题 - “invalid_grant”错误

如何从 Google YouTube Data API OAuth 2 iOS 获取刷新令牌