DismissingAlertView

Automatically dismissing UIAlertView.

DismissingAlertView.h

//
//  DismissingAlertView.h
//
//  Created by hytgbn on 10. 4. 29..
//  Copyright 2010 hytgbn. All rights reserved.
//

#import <Foundation/Foundation.h>

@protocol DismissingAlertViewDelegate 

-(void)onDismissingAlertView:(id)control;

@end

@interface DismissingAlertView : UIAlertView <UIAlertViewDelegate> {
	id<DismissingAlertViewDelegate> dismissingDelegate;
}

@property(nonatomic, assign) id<DismissingAlertViewDelegate> dismissingDelegate;

+ (id)alertWithTitle:(NSString *)title message:(NSString*)msg interval:(NSTimeInterval)ti delegate:(id<DismissingAlertViewDelegate>)obj;
+ (id)alertWithTitle:(NSString *)title message:(NSString*)msg interval:(NSTimeInterval)ti;

@end

DismissingAlertView.m

//
//  DismissingAlertView.m
//
//  Created by hytgbn on 10. 4. 29..
//  Copyright 2010 hytgbn. All rights reserved.
//

#import "DismissingAlertView.h"


@implementation DismissingAlertView

@synthesize dismissingDelegate;

+ (id)alertWithTitle:(NSString *)title message:(NSString*)msg interval:(NSTimeInterval)ti delegate:(id<DismissingAlertViewDelegate>)obj {
	DismissingAlertView *alertView = nil;
	if( alertView = [[super alloc] initWithTitle:title message:msg delegate:self cancelButtonTitle:nil otherButtonTitles:nil] ) {
		
		[NSTimer scheduledTimerWithTimeInterval:2 target:alertView selector:@selector(hideUI:) userInfo:nil repeats:NO];
		[alertView setDismissingDelegate:obj];
		[alertView show];
		
	}
	return [alertView autorelease];
}

+ (id)alertWithTitle:(NSString *)title message:(NSString*)msg interval:(NSTimeInterval)ti {
	return [DismissingAlertView alertWithTitle:title message:msg interval:ti delegate:nil];
}

- (void)hideUI:(NSTimer *)timer {
	[self dismissWithClickedButtonIndex:0 animated:NO];	 
	
	if( dismissingDelegate != nil ) {
		[dismissingDelegate onDismissingAlertView:self];
	}
}

@end

Usage :

    [DismissingAlertView alertWithTitle:@"Error" message:@"You got the error!" interval:3.0];

Also you can get dismissing event.
self implements DismissingAlertViewDelegate

    [DismissingAlertView alertWithTitle:@"Error" message:@"You got the error!" interval:3.0 delegate:self];

wget으로 cookie가 필요한 다운로드 콘솔에서 하기

쿠키가 필요한 다운로드 콘솔에서 하기

xcode 3.2.5를 다운로드 하려다가

거대한 용량 3.5G와… 지긋지긋한 속도때문에;; 당췌 다운로드가 되질 않았다.

속도가 나올때는 괜찮았는데 느려서 그런지 몇시간씩 다운로드 걸고 있으면 에러가 나있기도 하고

wget 을 쓸 순 없을까.. 하는 생각에 찾아보니

cookie를 이용한 방법을 찾았다. ( http://omegadelta.net/2010/11/24/downloading-ios-iphone-sdks-on-bad-connections/ )

firefox에서 Cookie Exporter라는 add-on을 설치하면 현재 브라우저의 쿠키를 파일로 저장해준다.

아래와 같이 하면 쿠키파일을 이용해서 로그인 상태로 받을 수 있다.

 wget --server-response --continue --no-check-certificate --load-cookies=cookies.txt [다운로드경로]

nohup등을 이용하면 더욱 편리하게 받을 수 있다.

이렇게 하면