iPhone:如何安全地将数据从设备传输到服务器

标签 iphone objective-c

有人可以帮助我吗,我是新手,以前没有做过。 我有一个 iPhone 应用程序,它有一个“购物车”对象。用户做出选择后,我想将该信息以 XML 文件的形式发送到服务器。我读到 iPhone 库可以让您轻松地将数据转换为 XML。但据我了解,数据必须存储在数组或字典中。这是真的?例如,我的“购物车”是一个使用数组在内部存储数据的对象,但“购物车”本身具有未存储在数组或字典中的变量。

问)如何将整个“购物车”转换成可以作为 XML 传输到我的服务器的东西?

此外,我要求客户为每个订单创建一个配置文件,但这将通过 https 连接直接在 Web 上启动 UIWebview 来完成。因此设备上不会有信用卡信息。

问)将网络上的个人资料与设备上的订单相关联的最佳方式是什么?

遇到过这个问题的人可以给我提示或链接吗?

谢谢

最佳答案

可以使用 ssl 安全地发送您的数据。

将您的购物车转换为 XML 可以使用 XML 框架/库来完成,但您仍然必须为此编写代码。例如 touchXML:

TouchXML is a lightweight replacement for Cocoa's NSXML* cluster of classes. It is based on the commonly available Open Source libxml2 library.

Here是一个很好的教程。

源码动了一点,可以找到here

关于您的第二个问题:这很棘手,可能会变得很棘手。但是,如果您不想切换到基于 API 的方式来登录/创建帐户,我会有这些想法。

使用 webViewDidFinishLoad: 方法使用 UIWebViewDelegate 协议(protocol)检查 webView 的“结果”。 “结果”可以是:成功创建帐户或成功登录。

因此您可以使用 webview 的 NSURLRequest 属性访问页面的主体。或者使用类似这样的东西,使用 javascript:

NSString *html = [webView stringByEvaluatingJavaScriptFromString: @"document.body.innerHTML"];

您将不得不进行解析以查找某些内容,例如您可以将其与订单关联以进行最终结账的 token 。

您也可以首先在设备上生成一个唯一的订单字符串,并在最初将其发送给登录/创建配置文件以稍微提高安全性,然后将其传回以供检查。

关于iPhone:如何安全地将数据从设备传输到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5772412/

相关文章:

ios - 使用 Xcode 9 和 Swift 4 本地化应用程序的最佳方式?

ios - AppDelegate 可以重定向吗?我收到错误委托(delegate)而不是方法

ios - 如何制作圆形按钮?

iOS/Objective-C - 如何在不丢失初始 session 的情况下发送多个 NSURLSessionDataTask 请求?

iphone - 如何在Ipad中自定义SubView为PopuPView?

iphone - 使用 ZipArchive 解压缩文件 - iOS

ios - TableView 导航到 View Controller 和其他单元格中的其他操作

ios - 为什么 Travis 找不到我的头文件? (当相同的指令在我的本地 Xcode 上运行良好时)

ios - 为什么 UITextInputMode.activeInputModes() 在 Swift 上崩溃?

ios - 设备锁定时 CallKit 不显示传入 UI