Cocoa中的简单文件下载[帮助]

时间:2011-03-30 08:07:16

标签: iphone objective-c xcode macos

我正在尝试在cocoa中创建一个简单的单个文件下载器。我正在使用VMWARE和MAC OS 10.5映像

这是main.m的代码,但它不起作用。未显示任何错误或警告消息,也未下载任何文件。

#import <Cocoa/Cocoa.h>

int main(int argc, char *argv[])
{
    NSString *urlString = @"http://www.mig33.com/wap2/v4_50/24x24/mig33v45.jar";
    NSURL *url = [NSURL URLWithString:urlString];
    NSData *data = [NSData dataWithContentsOfURL:url];
    NSString *dataPath = @"~/Desktop/mig33v45.jar"; 
    [data writeToFile:dataPath atomically:YES];
    return NSApplicationMain(argc,  (const char **) argv);
}

我做错了什么?我是可可程序的新手。

-Thanks -regards

2 个答案:

答案 0 :(得分:0)

你试过了吗?

NSString *dataPath = [@"/Desktop/mig33v45.jar" stringByExpandingTildeInPath];

答案 1 :(得分:0)

您还需要NSAutoreleasePool,并且不需要NSApplicationMain调用。

这有效:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    NSString *urlString = @"http://www.mig33.com/wap2/v4_50/24x24/mig33v45.jar";
    NSURL *url = [NSURL URLWithString:urlString];
    NSData *data = [NSData dataWithContentsOfURL:url];
    NSString *dataPath = [@"~/Desktop/mig33v45.jar" stringByExpandingTildeInPath]; 
    [data writeToFile:dataPath atomically:YES];

    [pool drain];
    return 0;
}