我正处于创建应用程序的初步阶段,该应用程序将匿名向用户发送信息给我。
由于提交信息的性质,用户可能会选择在不识别的情况下执行此操作(因此无法使用电子邮件)
我之前创建了一个应用程序,其中将电子邮件的文本字段添加到专用电子邮件地址,但我希望能够在不使用UIMailComposerView的情况下实现此目的。
有没有人在这方面有经验?如果您能就如何开始提供一些建议,我们将不胜感激。
答案 0 :(得分:2)
看到你从头开始,你可以考虑很多选择。
硬件:购买服务器与您的答案或此主板的正确位置无关,我相信您不需要帮助。
软件: PHP - 有很多选项。最常用的可能是运行PHP的Apache。有许多网站指导您完成设置过程。您可以谷歌'PHP服务器mac'或类似的东西获取更多信息。运行PHP通常是免费的,但除非您是某种专家,否则还容易增加黑客攻击的风险。我之所以提到这一点,是因为您声明您的应用处理敏感信息。我不是PHP方面的专家,因此在决定或发布有关此主题的问题之前,您可能希望对此进行自己的研究。
4D - 它是一个拥有自己脚本语言的关系数据库。它还拥有一个庞大的网络产品库,具有内置的Web服务器,电子邮件和FTP功能。我已经使用4D超过15年,并发誓,所以我的意见有点倾向于这个产品。这是昂贵的一面,但提供免费试用。它的数据文件已加密,并具有出色的安全功能。我编写了许多iOS应用程序,它们将简单的文本字符串,JSON和照片传送到数据库(然后再返回)。他们的网站是www.4d.com
其他 - 除了我提到的两个选项外,还有很多其他选择。 Google的'mac'数据库或类似的列表。
答案 1 :(得分:0)
这取决于您要检索的信息类型。如果您对应用程序的使用情况感兴趣,例如使用流程,崩溃,异常等,那么您应该寻找专门用于此的框架。像谷歌分析。如果您希望获得用户特定信息(如个人信息等),则需要运行服务器并使用POST信息请求。你可以google for RESTful用于最后一个。
然而,最后一种方法有点微妙,因为它与用户的隐私有关,如果声明/处理错误,您的应用可能会被拒绝。
编辑:
因此,看看您希望如何从用户发送匿名信息,这就是您必须要做的。
第1步) 设置Web服务器,您可以在物理上进行(将您的计算机设置为服务器)或使用云计算服务器。我推荐云选项。试试例如亚马逊EC2,它们有一个免费的层,您可以完美地用于您的目的,除非您希望获得大量的流量。
第2步) 配置服务器,并不难,但说明取决于服务器运行的配置。例如,如果您选择使用亚马逊云服务器,则会预先配置它们。您必须启用它们才能获得RESTful请求(例如post)。然后在某处保存此信息,例如,它可能是同一服务器内的mysql数据库。或者像amazon simpledb这样的东西非常容易使用,但它不是免费的。
第3步) 在iPhone方面你必须发送一个这样的帖子请求:
NSURL *serverURL = [NSURL URLWithString:kServerEndpointAddress];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:serverURL
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:60.0];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody:postData];
[theRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];
[theRequest setValue:@"application/json" forHTTPHeaderField:@"Current-Type"];
NSOperationQueue *someQueue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:theRequest
queue:someQueue
completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError)
{
if (connectionError)
{
NSLog(@"Connection error: %@",connectionError);
}
else
{
NSString *serverResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Server response: %@",serverResponse);
}
}];
注意httpbody是一个json编码的NSData。
这只是一般指导原则。你必须谷歌了解细节。
答案 2 :(得分:-2)
如果您刚刚开始它将花费您一些时间来学习网络服务 - 您将别无选择,只能提供您的在线资源 - 网络服务器 -
我建议使用URL方案访问您的网络服务器,特别是如果他们只是评论并且需要很少的互动:
在Web服务器中 - 通过匿名登录启用对服务器的访问,然后您可以使用PHP GET或Post - 如果您希望简单使用Get。
离子你的应用设置如下:
NSString *stringURL = @"http://www.youtrsite.com/comment?u=anonymous&c=comments%20are%20welcome";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
请注意,URL在使用get时使用字符方面存在限制,因此空格变为%20,其他特殊字符变为%xx。发布将允许您传递字段,但需要在您的应用上进行更多设置...只需在网络中查找示例。
该控件也将传递给safari,因此用户必须导航回您的应用程序,但它允许您建立一个网页说 - 谢谢我收到您的评论。
如果您需要与应用程序进行交互 - 您将别无选择,只能使用Web服务(XMLRPC,SOAP或RESTFul)。