5

我的应用程序有一个用户登录的登录屏幕。我们可以在 iPhone4、iPod 4、iPad 2 和 iPhone5 模拟器上登录。但是当我们将它提交到 iTunes 商店时,应用程序被拒绝了。苹果提到他们无法登录该应用程序。

我对密码进行了 HMAC-SHA 256 加密,并且在登录时我发送了加密的密码。那么,Apple 为 iPhone5 实施了哪些不允许服务接受加密数据的措施。

我没有 iPhone5,也不想买 iPhone5,因为它太贵了。谁能帮我这个。

这是我的代码:

NSMutableURLRequest *theRequest = 
[NSMutableURLRequest requestWithURL:[NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0];

    
    //do post request for parameter passing 

    [theRequest setHTTPMethod:@"POST"];

    
    //set the content type to JSON

    [theRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

[theRequest addValue:userName forHTTPHeaderField:@"Username"];

[theRequest addValue:sha256(passWord) forHTTPHeaderField:@"Password"];

在此处输入图像描述

以下是来自苹果的评论:

我们发现您的应用在运行 iOS 6.0.1 的 iPhone 5 上在 Wi-Fi 和蜂窝网络上进行审查时出现一个或多个错误,这不符合 App Store 审查指南。

4

3 回答 3

3

当我听到不同设备的问题时,我总是感到怀疑,尤其是当它们中有网络内容时。您是否曾经在困难的网络条件下尝试过您的应用程序?您是否正确处理网络超时?您是否使用队列来正确分派所有请求?您确定并发请求会按预期响应吗?
您可以使用 Network Link Conditioner,您可以从 Apple 网站免费下载它并测试最坏的情况。我知道这些只是要点,但我希望它们可以帮助你。
乔安德里亚

[更新]
你添加了可达性类??????

于 2012-11-21T11:17:27.047 回答
0

我们最近(2015 年 3 月 24 日)遭受了同样的拒绝,我们的解决方案并不完美,但希望它可以指导帮助人们解决此类问题的方法。

苹果的评论是:

当我们在运行 iOS 8.2 的 iPad 和运行 iOS 8.2 的 iPhone 上在 Wi-Fi 和蜂窝网络上进行审查时,我们在您的应用程序中发现了一个或多个错误。请在设备上运行您的应用以识别问题,然后修改并重新提交您的应用以供审核。

我们的应用程序是一个简单的应用程序,只需下载一个文件并在 Webview 上打开它。

在我们的情况下,我认为我们不能做更多并且无法重现错误,所以我们只需通过以下两件事来调整代码(然后成功使应用程序转向“准备出售”):

1.添加“活动指示器”以通知用户文件下载过程仍在进行中。2.setConnection timeoutInterval 来处理等待时间。

于 2015-04-15T09:34:30.977 回答
0

Apple 至少以一种破坏现有应用程序和代码的方式更改了 iOS 6.0 的 NSURLRequest(我认为这是一个主要错误,并且已被 Apple 记录)。

你在 iOS 6.0 模拟器上测试过吗?由于 Apple 的代码更改,我已经看到一些运行多年的应用程序停止在 iOS 6 上运行。

(我看到的主要是请求永远不会从手机发送,因此它会在大约 60 秒后超时)

于 2012-11-22T07:06:52.883 回答