首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建一个类似系统的高分,iPhone侧

创建一个类似系统的高分,iPhone侧
EN

Stack Overflow用户
提问于 2009-06-21 05:45:15
回答 2查看 2.4K关注 0票数 0

很抱歉,我打开了一个新的问题,我不得不-因为我写了另一个问题从我的iPhone作为未注册的用户,这是不太舒服从iPhone写。

修改问题的措辞:

是否可以使用:

NSMutableArray writeToURL:(NSString *)路径原子化:(BOOL)AuxSomething;

为了将文件(NSMutableArray) XML文件发送到url,并更新url以包含该文件?

例如:我有一个数组,我想把它上传到一个特定的URL,下次应用启动时,我想下载这个数组。

NSMutableArray *arrayToW区= [NSMutableArray alloc initWithObjects:@“一”,@“二”,零];

[arrayToWrite writeToURL:

NSURL urlWithString:@"mywebsite.atwebpages.com/myArray.plist“原子化:是];

在运行时:

NSMutableArray *arrayToRead =

[ urlWithString:@"mywebsite.atwebpages.com/myArray.plist"];NSMutableArray alloc initWithContentsOfURL:NSMutableArray

意思是,我想把一个NSMutableArray写到一个网址上,这是在一个网络托管服务上。

(例如,batcave.net),URL接收信息并相应地更新服务器端文件。一个高分,像安装,用户发送他的分数,服务器更新它的文件,其他用户下载高分在运行时。

我希望这一点得到澄清。

编辑:我正在寻找脚本PHP或ASP,这样的网站,网址,数据被发送到的地方,将知道如何处理它。我想要一个例子或教程如何实现这个脚本来处理数据,如果这是可能的话,在一个网络主机服务。

~~事先谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-24 01:28:06

要回答“如何创建类似系统的高分”这个问题,系统有多个部分:

您需要为每个用户提供一个ID (在sufficient).

  • You上生成的GUID以及用户名应该是),它需要一台服务器:记住高分;从用户那里获得高分;或者(在网站上)显示高分和/或使高分可以下载到电话中。
  • 您需要一些欺诈保护,尽管这可能会与越狱者

打败仗。

在iPhone应用程序端,您可能希望能够下载当前的高分以供显示,这样可以很容易地完成以下操作:

代码语言:javascript
运行
复制
int statusCode = 0;
NSData* result = nil;
NSHTTPURLResponse* response = nil;
NSError* error = nil;
NSString* url = @"http://www.yourserver.com/highscores.php"; // returns XML plist data
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:180];
result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
//  NSLog( @"NSURLConnection result %d %@ %@", [response statusCode], [request description], [error description] );
statusCode = [response statusCode];
if ( (statusCode == 0) || (!result && statusCode == 200) ) {
    statusCode = 500;
}

因为它是同步的,所以您可能需要将它放在NSOperation中。或者,您可以使用

代码语言:javascript
运行
复制
+ (NSURLConnection *)connectionWithRequest:(NSURLRequest *)request delegate:(id)delegate

要发送高分数据,因为它太小了,最简单的方法就是在URL中对其进行编码。

代码语言:javascript
运行
复制
NSString* url = [NSString stringWithFormat:@"http://www.yourserver.com/sethighscores.php?uid=%@;name=%@;score=%d;antifraud=%@", [uid encodeParameter], [name encodeParameter], score, [secureHash encodeParameter]];

其中,encodeParameter是NSString上的一个自定义类别,它编码URL参数,而secureHash是一个字符串,表示单向安全散列uid、名称、分数和您的iPhone应用程序和网站所知道的一些秘密。你需要自己解决这些问题,或者问一些单独的问题,因为这已经变得越来越长了。

票数 2
EN

Stack Overflow用户

发布于 2009-06-21 09:35:22

根据NSData writeToURL文档(至少对于iPhone操作系统2.2.1):

“由于目前只支持文件://URL,所以除了第一个参数的类型之外,这个方法与writeToFile:原子性:没有区别。”

虽然NSArray/NSArray/NSString的docs没有具体提到限制,但同样的限制似乎很有可能适用。

因此,您必须使用其他机制上传XML。

此外,网站通常是只读的,除非您在web服务器上提供支持上载的特定代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1023289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档