MacBook

unwind segue が難しくて・・・

unwind segue は難しい。以前 try して、結局うまくいかず、今回は、ま、実装したけどちょっと妥協したって感じ。これね、わかりにくいです。 まず、unwind segue として実装する method は、先に m なり h なりに書いておく必要があるということ。書くのは…

UITextView の context menu

UITextView の context menu で、いろいろ出てくるわけですが、Copy, Select All, Share ぐらいに絞って表示したいなぁと。簡単だと思ったら、結構ハマった。 まず、UITextView の sub class を新設。 contex menu は次の method で検知できる。 -(BOOL) can…

UserNotifications、identifier にハマった・・・

iOS 10 以降、UserNotifications の framework が変わったようで、 UNNotificationRequest やら、UNNotificationCenter やら、頭に UN を冠する見慣れない class が出現した訳だ。で、実際に notification を登録するには次のような形を取る: UNNotificatio…

App で Dark Appearance に対応するには・・・(Dark Appearance を無効にする)

iOS 12 辺りから?でしたか?Dark Appearance というのがあり、目に優しい感じがして自分でも利用しているわけですが、App 製作者からすると、これまた厄介な問題が・・・ 何が問題なのかと言うと、一番困るのが画像。background color として白を想定してい…

Storyboard に作ってある ViewController を code で呼ぶには

Storyboard に ViewController を定義してあって、code から画面表示するにはどうするか。 hoge* lv = [hoge new]; とやってみたんだけどダメで、調べてみたら次のような method があった。 hoge* lv = [self.storyboard instantiateViewControllerWithIdent…

CoreData、relate 先の N テーブルに record を保存する

CoreData はホント鬼門。以前はまって、かなり理解したつもりなんだけど相変わらず分からなくなってしまう。分からなくなる原因は、automatic で処理される部分があるためで、method 名とかも table の名称に応じて変化するため余計分からなくなる。でも、そ…

Master-Detail にはいつも悩まされるね。

Master-Detail のテンプレートを使ってアプリを作っていると、デフォルトのテンプレートの出来栄えのよさに感心してしまう。素晴らしいなと。splitView や navigationController の対応など、これを素で作ろうとしたら、困難を究めることは間違いない、って…

UIView をアニメーションさせると、タップしても反応しないぞ?の対応

UIView に animation を指定した時の話。 UIView を丸くして、Start ボタンのつもり。Start を押したら Stop に表示を切り替えて、さらに、ボタンの alpha を薄くしたり戻したりして生きている風にした訳。それで、もっかいタップしたら、Stop ラベルを Star…

NSMakeRange にはまる

NSMakeRange にはまった・・・ 文字列から部分的に文字列を取出したい場合、Python だと、3 文字目から 5 文字目だったら、[2 : 5] みたいに、start, end で指定する訳だ。すっかりそれに慣れてたら、NSMakeRange でははまる。NSMakeRange では、start, leng…

shouldPerformSegueWithIdentifier は曲者だ。

ようやくアプリをリリースできたんだけど、、、 Direction of Your Destination Satoshi TANAKA Lifestyle Free apps.apple.com 指摘された部分を改修してたらバグを見つけてしまい、解決できなくて困ったなぁ。とりあえず、見つけたバグは指摘されていない…

Direction of Your Destination

目的地の方角を示すアプリが欲しくて、作成した。 従来のナビアプリは道順や予想到着時刻がわかって便利なんだけど、自転車に乗っている時なんかは道順を見るために立ち止まったりしたくないもので、方角と残距離だけわかればよく、そんなアプリ。 方角と残…

applicationWillResignActive とか、どうすんの

いやー、マジはまった。 ライフサイクルの話ね。GPS とか方角を使うアプリ作ってて、こういうアプリはすごい電池喰うから、バックグラウンドに回ったら中断、フォアグラウンドに回ったら再開ってことにしたかったのね。車で言うところの、アイドリングストッ…

Container View を使って delegate

ViewController の中に UIView と UILabel がセットになった View を置きたくなり、それって、結局、ViewController の中に ViewController を配置するということか?と思い、はて、いったいどうやるんだ? Storyboard に配置した ViewController の中に Vie…

mapView に delegate method があるの知らなかった・・・

MapKit を使うアプリを作ってて、user location と goal location の距離や方角を計算しようとしたときの話。 user location の緯度・経度を調べるとどちらも 0 になってしまい、緯度・経度 0 の地点が現在地になり、距離なんてすごいことに・・・ viewDidLo…

CLLocationCoordinate2D に値が入っているかを確かめるには?

CLLocationCoordinate2D に値が入っているのか確かめるにはどうするか。== nil とかやってもダメ。調べてみたところ、次のような関数が・・・ BOOL CLLocationCoordinate2DIsValid(CLLocationCoordinate2D coord); うわー、知らなかったなー。便利だけど、専…

CLLocationCoordinate2D に値が入っているかを確かめるには?

CLLocationCoordinate2D に値が入っているのか確かめるにはどうするか。== nil とかやってもダメ。調べてみたところ、次のような関数が・・・ if ( CLLocationCoordinate2DIsValid( _locationOfGoal ) ) 便利だけど、専用の関数作るって・・・冗舌。

Pin 表示と compass 表示ではまる

MapKit を使っていて、long tap したところに pin を打つ、せっかくだからカスタマイズしてと、カスタマイズは pinView といいう class を作ってそこでカスタマイズするのですよ、と進めていたところ、ところで、現在地も表示したくなってきたんだけど・・・…

simlator で現在地を表示できないぞ?

アプリ作ってて、simlator に現在地を表示しようとしたらできない。なんで? Xcode で simlator の設定変更が必要だったと。 Product > Schema > Edit Schema Run, Core Location, Allow Location Simulation を On に。 また、Default Location が None だ…

simlator で現在地を表示できないぞ?

アプリ作ってて、simlator に現在地を表示しようとしたらできない。なんで? Xcode で simlator の設定変更が必要だったと。 Product > Schema > Edit Schema Run, Core Location, Allow Location Simulation を On に。 また、Default Location が None だ…

実機テストへの遠い道のり・・・

App を作ってて、テストするときの話。実機でテストするなら、以前は macbook に iPhone をケーブルでつないでアプリを転送して・・・みたいなことが必要で、ケーブル繋ぐのめんどくセーというのがあったんだけど、最近は connect に App を転送して TestFli…

UIBezierPath で、線の端を丸くするには・・・

UiBezierPath で直線を描く。線の端が角ばっていて、なんとなく、いやンな感じ。端を丸くしたい。丸くするにはどうするのか。 調べたところ、lineCapStyle という property があるではないか。勇んで property を設定しても、変化なし・・・? bezierPath.li…

storyboard でもっかい接続してみるってのも、原始的ながら有効なことあるんだね。

今日ハマったのは、navigationController で戻ってきたときの値の渡し方と、 viewDidLoad が呼ばれないので KVO の登録ができず、結果、値が変わっても呼ばれないという罠。 順を追って説明すると、navigationController の back ボタンで戻ってきました。さ…

後から navigation controller を追加するとハマるね。

Xcode でアプリ作ってて、sigleton テンプレートで進めていたら、後から navigation bar を追加したくなって、簡単・簡単とタカをくくっていたらハマるねこれ。 まず、storyboard に navigation bar を追加しようと object の一覧を見たら navigation bar と…

UITextField に何も入力されていないの判定

UITextField に何も入力せず return を押した場合、検索処理などをせず無視したいところ。これを実現するため、UITextField に何も入力されていないことを確認するにはどうするのか。 すぐに思いついたのが文字数を確認する方法。これ、やり方よくわからない…

iTunes Store での支払い

コンビニで iTunes Store のカードを買ってきて、曲をいくつか買って、残高が ¥200 ぐらいある状態。この状態で ¥250 の曲を買うとどうなるか。 普通に考えると、¥50 足りないので、買えない。でも、アカウントにクレジットカードが登録してあると、残高の ¥…

Macbook で Bluetooth スピーカーに接続できなくなったら・・・

部屋の掃除してたら以前買った SoundCore mini が出てきて、あ、これ結構音いいんだよね、と、また使いたくなったんで Macbook とペアリング。 ダメ。接続できた、menu bar のアイコン変わった、と思ったら勝手に接続が解除されてしまいスピーカーから音が出…

デスクトップをクリックしたら Finder の Window を最前面にするアプリ

Mac OS X になってからかなぁ。Finder の挙動がどうにも使いにくいところがあって、以前は、Desktop をクリックすると Finder の window が最前面に表示されてて、これ、ファイル操作やアプリ起動に便利だから、狭い画面でもやり繰りして常に desktop をほん…

楽ナビのアップデートは Mac だとつらいね・・・

恒例のナビアップデートがやってきた。地図データの更新をするのだけれど、Mac だとアップデートの手段がないからすごいつらい。 Virtual box 使ってアップデートしようとしたら SD カードに転送するところでこける。5 回ぐらいやり直してダメ。Parallel デ…

Macbook 12 in: 起動しない、勝手に電源が入る の対処

昨日寝ていたら、夜中に「ジャーン」と Mac の起動音が・・・ん?寝ぼけてんのかと思ったらまた「ジャーン」と鳴る。寝ぼけてないなんだこりゃと、Macbook をみたら、暗いまま。眠いので蓋して、朝起きてから確認。 昨日、Xcode のアップデートがあったんだ…

Macbook 12in 電池交換、再び・・・

2015 年に購入した Macbook 12 inch、電池交換 2 回目完了しました。一回 2 万円もかかるので、次はもう新しいの買おうと思います。今回の電池は持ちが悪かったね。丁度 1 年で警告?見たいのが出て、騙し騙し使って、2h ぐらいしか持たなくなってこりゃ不便…