NSBlogger

意識高いブログ

objectivec

iOSアプリの64bit対応でやったことまとめ

2015年06月より64bit対応必須に そういえば今月から64bit対応が必須になりました。アプリ申請時に64bit対応していないと自動的にはじかれます。64bit対応なんてすぐ終わるやーと思っていたんですが、なんだかんだ2週間くらいかかってしまいました…。やったこ…

iOS7以降でUITableViewCellをカスタマイズするときに気をつけること

iOS7以降のUITableViewCell UITableViewのセル単体を管理するためにUITableViewCellを使います。iOS7以降になると標準のUITableViewCellの左端に微妙な隙間ができました。UITableViewCellをカスタマイズせずにそのまま使う場合は問題ありませんが、カスタマ…

UIImageがベタ塗りされたときの対処法

UIImageがベタ塗りされる ちゃんと画像を指定しているのに、真っ白になったり真っ黒になったり画像が1色でベタ塗りされたことがありました。そういえば、iOS7対応したときにいろんな画像が青色にベタ塗りされた記憶が…。ということで調べてみた結果が下記で…

AutoLayoutとうまく付き合うコツ

AutoLayoutと仲良くなった ぜんぜん言うこと聞かないからAutoLayout大嫌いだったんですが、接し方を変えたら言うこと聞くようになったので、そのコツを紹介します。

UIWebViewで特定のURLの末尾にパラメータをつける

UIWebViewでページを読み込む前のイベントをキャッチ - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { //WebView内のロードする前に呼ばれる } UIWebV…

Watch Kit AppとiPhone App間でNSUserDefaultsを使ってデータ共有をする

Watch Kit AppとiPhone Appのデータは別管理 基本的にWatch Kit AppとiPhone Appがそれぞれ保持するデータ領域は別々に管理されています。したがって、下記の設定を行わずにNSUserDefaultsを使ってみると、Watch Kit Appで保存したデータはWatch Kit Appから…

WatchKit AppからiPhone Appを起動する方法

Watch App側の実装 [WKInterfaceController openParentApplication:@{} reply:^(NSDictionary *replyInfo, NSError *error) {}]; WKInterfaceControllerのopenParentApplication:reply:メソッドを使うことでiPhone側の親アプリを起動することができます。現…

AFNetworkingでメモリリークが起こったときの対処法

AFNetworking Objective C のライブラリで超ど定番なHttpClientです。いまさらながら使い始めました。AFNetworking/AFNetworkingAFNetworking/AFNetworking · GitHub メモリリーク AFNetworkingのラッパーを作って既存のAPIとの通信をすべて置き換えました。…

XCTestExpectationの「API violation」エラーの解決策

XCTestExpectation XCTestで非同期通信処理をテストしたいときに使えるクラスです。 XCTestExpectation *expectation = [self expectationWithDescription:@"successfully load image"]; [self.imageLoader getRequest:@"http://dummy.jpg/" success:^(UIIma…

UIViewをドラッグした後、元の位置に戻す

UIViewをドラッグさせる touchesBeganやtouchesMovedでもできそうですが、今回は「UIPanGestureRecognizer」を使ってみました。 self.snapView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width/2, self.view.bounds.size.hei…

UIPushBehaviorでViewに力を与える

UIPushBehavior iOS7から追加されたUIKit Dynamicsに含まれるビヘイビアのひとつです。 UIKit Dynamics には重力をあたえたり、ViewとViewが衝突した際の動作であったり、Viewが指定した位置に吸い付いたりするアニメーションを作ることができます。 ゲーム…