Linuxで起動時にスクリプトを実行

このblogはghostを使っているのでサーバが再起動されたときにスクリプトを走らせてあげる必要があったけど、そんな設定してなくてっていうか再起動なんて滅多に走らせていなかったので特に気にしていなかったけど再起動のたびにログインしてスクリプト実行というのもだるいので起動時にスクリプトを走らせるようにした $ sudo emacs /etc/rc.local 以下、追記 su -l <user> -c "sh <path/to/script>"

dispatch_sync

dispatch_syncを使う - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // メインスレッドで非同期実行 NSLog(@"1.%@", [NSThread isMainThread]? @"mainThread": @"backgroundThread"); dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // 第一引数でキューを指定して同期実行 NSLog(@"2.%@", [NSThread isMainThread]? @"mainThread": @"backgroundThread"); }); return YES; } 結果

NSURLSessionでBasic認証する

どうせ1つのアプリで複数のBasic認証することなんて無いっしょ とか思いつつも使い回しがききそうな実装を考えたのでメモ 1. requestのURLはhttp://user:[email protected]みたいにユーザとパスワードも記載しておくとする 2. NSURLSessionTaskのcompletionHandlerは使わないでdelegateを使用する 3. WWW-Authenticateのrealmを取得 4. 認証するURLに対してcurl -vとかリクエストして401レスポンスを取得 5. 今回はこんなレスポンスが来ていたWWW-Authenticate: Basic realm="Login Required" 6. 該当realmはLogin Required 7. delegateメソッド- URLSession:didReceiveChallenge:completionHandler:を実装する 8. - URLSession:didReceiveChallenge:completionHandler: - (void)