読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

Swift + AppExtension + MagicalRecord

SwiftでコンテナアプリとAppExtensionのデータをMagicalRecordで共有する方法です。 (少しObjective-Cは必要になります) 注意 現状だとちょっと試した動いた状態なので何か問題があとからあるかもしれません。 あと、MagicalRecordはbeta版を使用するので…

iOSキーボード上部にView表示とキーボード部分を置き換える

ちょっと良いタイトルが思いつかないし、なんかよく分かんないタイトルになってしまった。 やりたかったことはiOSはてブアプリのタグ入力の画面のようなやつです。 キーボード上部のSegmented Controlでキーボード部分が切り替えるみたいなことがやりたかっ…

MagicalRecordでSQLite初期データをコピーする

MagicalRecordを使っていて、SQLiteファイルをコピーする方法です。 最初は初回起動時にJSON等のテキストからSQLiteのデータを普通に作ってたのですが、データ量が多いとすごく時間かかるので、最初からSQLiteファイルを作っておいてコピーする方法にしまし…

バックグラウンドでNSURLSessionDownloadTaskのdelegateが呼ばれない時の対応

Remote Notification通知受信後にバックグラウンドでAPIからデータを取得しようとしたのですが、NSURLSessionDownloadTaskの完了delegateが呼ばれずにハマった時のメモです。 全体的なサンプルは Multitasking in iOS 7 - iOS 7 - objc.io issue #5 を参考に…

KVC Collection Operators が便利っぽい

Modernize your Objective-C // Speaker Deck のスライドを読んで初めて知ったので、調べてみたら便利そうだったのでそれのメモです 公式ドキュメント Key-Value Coding Programming Guide: Collection Operators 概要 コレクションのvalueForKeyPathメソッ…

TestFlight SDKを使う

TestFlight SDKを使う際のメモ Podfile Podfileに下記を追加。 pod 'TestFlightSDK', '2.0.2' インストール $ pod install AdHoc用ビルドのみ有効にする AdHoc用ビルド設定 AdHoc用ビルド設定とTestFlightアップロードスクリプト を参照 AdHoc時のみリンクす…

AdHoc用ビルド設定とTestFlightアップロードスクリプト

AdHoc用ビルド設定 証明書とかProvisioningProfileとか 省略。ググってね。 Build Configurations PROJECTのInfoタブから設定する。 左下の+マークを押してDuplicate "Release" Configurationを選択。 NameにAdHocと入力する。 Code Signing PROJECTのBuild …

トリガーのないSegueを作る方法

ボタン等のトリガーのないSegueの作り方のメモです。 Storyboardの遷移元ViewControllerの上のバーの部分を右クリックします。 出てきたポップアップメニューの一番上のTriggered Seguesのmanulの右○を遷移先へドラッグアンドドロップします。その後にpush、…

Xcodeの背景画像を設定するプラグイン作ってみた

タイトルのとおりですが、Xcodeのエディタの背景に画像を設定する作ってみました。 eclipseはMoeclipse、IntelliJ IDEAはSexy Editorがあるのですが、Xcodeは探しても見つかりませんでした。(実はあったら悲しいですが…) てことで自分で作ってみました。 …

UITableViewの編集モードで並び替えできるようにする

[_tableView setEditing:YES animated:YES]; でUITableViewを編集モードにできますが、その時に並び替えを有効にするためのメモ UITableViewのdelegateを設定して - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceInde…

UITabBarControllerで別タブのUIViewControllerを取得する

個人的なメモです。 別のタブのUIViewControllerを取得する方法。 SampleViewController *sampleViewController = (SampleViewController *)[self.tabBarController.viewControllers objectAtIndex:0]; ついでにプログラム側からタブを切り替える方法 self.t…

NSDateのretainCountがおかしい

BaseSDKが「Mac OS X 10.7」の場合に次のコード実行するとretainCountがおかしな数値になります。 NSDate *date = [[NSDate alloc]initWithString:@"2011-09-24 00:00:00 +0900"]; NSLog(@"retainCount:%lu", [date retainCount]); 結果は retainCount:47344…

NavigationBarの高さを取得

NavigationBarの高さは self.navigationController.navigationBar.bounds.size.height で取得できます。 NavigationBarの高さをマイナスすれば、表示領域の高さが取得できます。 self.view.bounds.size.height - self.navigationController.navigationBar.bo…

ナビゲーションバーとステータスバーを非表示にする

ナビゲーションバーを非表示にする 下のコードをviewDidLoadメソッドに書けば非表示になります。 [self.navigationController setNavigationBarHidden:YES animated:YES]; 注意点としては、イニシャライズメソッド(init)などで、書くと非表示になってくれ…

UIButtonはrelease不要

かなりハマっちゃいました(´Д`;) 簡単な経緯としては [self.navigationController pushViewController:controller animated:YES]; で画面遷移をやっていて、遷移先から遷移元に戻るときに 「modifying layer that is being finalized」っていうのがコンソー…

Macでのバックスラッシュ入力方法

「option」+「\」で入力できます。 Objective-Cでは区別されるので、エスケープ文字を「\」でやっても普通に表示されるだけです。 元々Windowsユーザーで最近Macを使い始めたので、なかなか気づきませんでした(´・ω・`)