info

category : App Develop
[objective-c]NSTimerがFireしない  @ App Develop , objective-c 2015年3月25日
NSTimerがFireしない
UIAlertViewのYes,Noボタンをタップしたタイミングと重なったり、
何らかの要因によりNSTimerがサブスレッドで実行されることが原因

対処法
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(methodName) userInfo:nil repeats:NO];
これを
dispatch_async(dispatch_get_main_queue(), ^{
    [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(methodName) userInfo:nil repeats:NO];
});
こうする
[objective-c]日付文字列まとめ  @ App Develop , objective-c 2015年3月12日
日付文字列まとめ
_currentDate =  [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone systemTimeZone] secondsFromGMT]];

NSDateFormatter* form = [[NSDateFormatter alloc] init];
[form setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[form setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
_currentDatetimeString = [form stringFromDate: _currentDate ];
[form setDateFormat:@"yyyy-MM-dd"];
_currentDateString = [form stringFromDate: _currentDate ];
[form setDateFormat:@"yyyy-MM"];
_currentYMString = [form stringFromDate: _currentDate ];
[form setDateFormat:@"HH:mm:ss"];
_currentTimeString = [form stringFromDate: _currentDate ];
[objective-c]UIWebViewのhtmlにUIImageをimgタグで表示  @ App Develop , objective-c 2014年11月18日
UIWebViewのhtmlにUIImageをimgタグで表示
NSData *imageData = UIImagePNGRepresentation(image);
NSString* base64 = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding76CharacterLineLength];
base64 = [base64 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString*js = [NSString stringWithFormat:@"var img=document.createElement('img');img.src='data:image/jpg;base64,%@';document.body.appendChild(img);",base64];
[mainWebView stringByEvaluatingJavaScriptFromString:js];
[objective-c]UIWebViewでリンククリックで処理  @ App Develop , objective-c 2014年11月17日
UIWebViewでリンククリックで処理

読み込むhtml
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<a href="js-call://camera">camera</a><br/><br/>
<a href="js-call://album">album</a><br/><br/>
<a href="js-call://alert">alert</a><br/><br/>
</body>
</html>

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"shouldStartLoadWithRequest");
    NSString *requestString = [[request URL] absoluteString];
    NSString *protocol = @"js-call://";
    if ([requestString hasPrefix:protocol]) {
        NSString *requestContent = [requestString substringFromIndex:[protocol length]];
        NSArray *vals = [requestContent componentsSeparatedByString:@"/"];
        if ([vals[0] isEqualToString:@"camera"]){
            [self startCamera];//カメラ起動
        }else if ([vals[0] isEqualToString:@"album"]){
            [self startAlbum];//カメラロール起動
        }else {
            [webView stringByEvaluatingJavaScriptFromString:@"alert('Not defined');"];//jsのalert実行
        }
        return NO;
    }
    return YES;
}