void (^handler)(void) = ^{
UIApplication* app = [UIApplication sharedApplication]; [app endBackgroundTask:_bgTask];
_bgTask = UIBackgroundTaskInvalid;
};
_bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:handler];
(VoIPアプリのみ)
[[UIApplication sharedApplication] setKeepAliveTimeout:600.0 handler:^{
// ここに実行したい処理を記述
}];
[[UIDevice currentDevice]systemVersion]
[[UIDevice currentDevice]systemName]
[[UIDevice currentDevice]model]
CTTelephonyNetworkInfo* networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier* carrier = [networkInfo subscriberCellularProvider];
NSString* carrierName = carrier.carrierName;
// delegate パラメーターには nil をセットしてもよい
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"タイトル" message:@"メッセージ" delegate:self cancelButtonTitle:@"了解" otherButtonTitles:nil];
[alert show];
// ボタンが押された時のデレゲート
-(void)alertView:(UIAlertView*)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex
{
switch (buttonIndex) {
case 0:
break;
case 1:
break;
}
}
// アラート表示直前のデレゲート
-(void)willPresentAlertView:(UIAlertView*)alertView
{
}
// アラート表示直後のデレゲート
-(void)didPresentAlertView:(UIAlertView*)alertView
{
}
NSNumberFormatter* numFmt = [[NSNumberFormatter alloc] init];
[numFmt setNumberStyle:NSNumberFormatterDecimalStyle];
[numFmt setGroupingSeparator:@","];
[numFmt setGroupingSize:3];
[numFmt stringFromNumber:[NSNumber numberWithInt:1234567]]];
NSCalendar* calendar = [NSCalendar currentCalendar];
NSUInteger flag = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDate* now = [NSDate date];
NSDateComponents* compo = [_calendar components:flag fromDate:now];
NSInteger year = compo.year;
NSInteger month = compo.month;
NSInteger day = compo.day;
NSCalendar* calendar = [NSCalendar currentCalendar];
NSUInteger flag = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDate* now = [NSDate date];
NSDateComponents* compo = [_calendar components:flag fromDate:now];
NSInteger hour = compo.hour;
NSInteger minute = compo.minute;
NSInteger second = compo.second;
NSDateFormatter* dateFmt = [[NSDateFormatter alloc] init];
[dateFmt setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSSS"];
NSDate* now = [NSDate date];
NSString* dateString = [dateFmt stringFromDate:now];
#import <mach/mach.h>
#import <mach/mach_host.h>
+(natural_t) get_free_memory {
mach_port_t host_port;
mach_msg_type_number_t host_size;
vm_size_t pagesize;
host_port = mach_host_self();
host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
host_page_size(host_port, &pagesize);
vm_statistics_data_t vm_stat;
if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS) {
NSLog(@"Failed to fetch vm statistics");
return 0;
}
/* Stats in bytes */
natural_t mem_free = vm_stat.free_count * pagesize;
return mem_free;
}
http://stackoverflow.com/questions/4579642/monitor-memory-usage-in-an-iphone-app