【发布时间】:2011-10-29 07:34:13
【问题描述】:
我有一个即将进入测试的应用程序,在崩溃后重新加载时,会显示一个 UIAlertView 和一个文本字段,询问应用程序崩溃时用户在做什么。
如何获取用户在 UIAlertView 文本字段中输入的内容并将其提交给我?电子邮件听起来很棒,但是他们不得不为此离开应用程序,这似乎效率低下。所以会更加无缝。
提前致谢。
【问题讨论】:
标签: iphone objective-c xcode
我有一个即将进入测试的应用程序,在崩溃后重新加载时,会显示一个 UIAlertView 和一个文本字段,询问应用程序崩溃时用户在做什么。
如何获取用户在 UIAlertView 文本字段中输入的内容并将其提交给我?电子邮件听起来很棒,但是他们不得不为此离开应用程序,这似乎效率低下。所以会更加无缝。
提前致谢。
【问题讨论】:
标签: iphone objective-c xcode
他们不必离开应用程序即可向您发送电子邮件。查看 MFMailComposeViewController 类。
【讨论】:
不使用电子邮件的最简单方法可能是构建一个简单的 Web 服务,该服务接受包含崩溃详细信息的 HTTP POST。您的网络服务可以将这些详细信息存储在您可以根据需要访问的数据库或平面文件中。
从 iPhone 发布到网络服务非常简单。如果您想自己编写代码,我建议您查看NSURLConnection 文档。但是,还有一种更简单的方法,如this answer 中所述:使用ASIHTTPRequest 库只需几行代码即可完成整个操作。这个来自 ASIHTTPRequest 站点的示例代码描述了如何发布一系列键和值。
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"Ben" forKey:@"first_name"];
[request setPostValue:@"Copsey" forKey:@"last_name"];
[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"];
至于如何编写 Web 服务,here's a good tutorial on writing a simple PHP/MySQL web service,专门针对 iOS 开发。当然,您需要一台服务器,但托管很便宜,这绝对是您收集数据的最佳方式。 (您也可以免费使用Google App Engine,但我听说过一些关于 App Engine 性能的坏消息。)
祝你好运!
【讨论】: