投稿

productViewControllerDidFinishはiOS13で挙動がちょっと違う。

func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) { viewController.dismiss(animated: true, completion: nil) } というメソッドはiOS13で挙動がすこし変わっていた。上の書き方が一般的でこの書き方をしていれば問題ないと思われる。animatedやcompletionは状況に応じた値にすればいい。 ただ、次のような状況で別の記述になっていたらiOS13でおかしくなった。 dismissを「(自分の上に)表示しているViewControllerを消す」という意味ととらえた場合、つまりdismissを実行したViewControllerが消えるのではなく、子ViewControllerが消えるという解釈をした場合、 AがBを表示している状況で、Aがdelegateになっていれば、Bを消すときに func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) { dismiss(animated: true, completion: nil) } という書き方になる。 しかしこの書き方ではiOS13ではA自身も消えてしまう。 dismissは子を消すという解釈は間違っていない気がするが。 dismissの挙動で何か情報を知っている人は教えていただきたい。dismissは自分が閉じるのか子が閉じるのか。

いまはCarplayアプリ開発の承諾は申込みするだけで出来る

Carplayアプリ開発の承諾の流れについて 今は申込みするだけで承諾されるそうです。 1.開発者が申し込み https://developer.apple.com/contact/carplay/ 2.Appleによる承諾 昔はもう少し手間がかかりました。 1.開発者が申し込み 2.Appleから契約書の送付(Eメール) 3.開発者が契約書に入力してAppleに送る 4.Appleによる承諾 私の場合、昔に申し込んで、昔の手順の1と2が行われた後、契約書の送付をしばらくしていませんでした。そのうちやり方が変わって、いざ契約書を送っても、何も反応がありません。改めて申し込みしたら翌日くらいに承諾されました。

Mac Book ProでWifi機能がトラブル

イメージ
Mac Book Pro 13インチ 2015をMajaveにあげてから、Wi2premium_clubの店でWi2 ConnectというWifi接続ソフトを立ち上げたときにレインボーカーソルがずっと出っぱなしという状況になりました。Wi2 Connectを強制停止させると、今度はWifi機能が壊れた状態になりました。「ハードウェアなし」という状況です。 ちなみに、Wi2 ConnectソフトはMojaveに対応したバージョンが出ているそうですが、私はそれを知らなかったので、いくらか古いバージョンを使用しておりました。 BootcampでWindows10を立ち上げると、そっちからは正常にWifiが使えたので希望はあるのかなと思い、根気よく取り組みました。 また、電源ON時にcmd+Rを行う簡易macOS(?)を立ち上げたときにも正常にWifiが使えました。 NVRAM のリセットを行う https://support.apple.com/ja-jp/HT204063 →だめ SMC (システム管理コントローラ) をリセットを行う https://support.apple.com/ja-jp/HT201295 →だめ OS上書きインストール →だめ OSを消去してから、OSインストール →成功 OSを一旦消去してからのOS再インストールで正常になったのでmacOS内部の何かが壊れたんだと思います。

2017年(平成29年)告示で2020年(平成?32年)4月1日から施行の小学校学習指導要領における学年別漢字配当表をユニコードスカラ順に並べたもの

小学校で習う漢字をユニコードスカラ値順に並べたいことってありますよね。現在は新課程に移行している段階(つじつまを合わせるために学年によっては新課程)なので新課程用のやつを作ってみました。 ○ ○ ○ ○ ○ ○...形式 ○,○,○,○,○,○...形式 "○","○","○","○","○","○"...形式 の3パターンで表記します。 ○ ○ ○ ○ ○ ○...形式 //一年 一 七 三 上 下 中 九 二 五 人 休 先 入 八 六 円 出 力 十 千 口 右 名 四 土 夕 大 天 女 子 字 学 小 山 川 左 年 手 文 日 早 月 木 本 村 林 校 森 正 気 水 火 犬 玉 王 生 田 男 町 白 百 目 石 空 立 竹 糸 耳 花 草 虫 見 貝 赤 足 車 金 雨 青 音 //二年 万 丸 交 京 今 会 体 何 作 元 兄 光 公 内 冬 刀 分 切 前 北 午 半 南 原 友 古 台 合 同 回 図 国 園 地 場 声 売 夏 外 多 夜 太 妹 姉 室 家 寺 少 岩 工 市 帰 広 店 弓 引 弟 弱 強 当 形 後 心 思 戸 才 教 数 新 方 明 星 春 昼 時 晴 曜 書 朝 来 東 楽 歌 止 歩 母 毎 毛 池 汽 活 海 点 父 牛 理 用 画 番 直 矢 知 社 秋 科 答 算 米 紙 細 組 絵 線 羽 考 聞 肉 自 船 色 茶 行 西 親 角 言 計 記 話 語 読 谷 買 走 近 通 週 道 遠 里 野 長 門 間 雪 雲 電 頭 顔 風 食 首 馬 高 魚 鳥 鳴 麦 黄 黒 //三年 丁 世 両 主 乗 予 事 仕 他 代 住 使 係 倍 全 具 写 列 助 勉 動 勝 化 区 医 去 反 取 受 号 向 君 味 命 和 品 員 商 問 坂 央 始 委 守 安 定 実 客 宮 宿 寒 対 局 屋 岸 島 州 帳 平 幸 度 庫 庭 式 役 待 急 息 悪 悲 想 意 感 所 打 投 拾 持 指 放 整 旅 族 昔 昭 暑 暗 曲 有 服 期 板 柱 根 植 業 様 横 橋 次 歯 死 氷 決 油 波 注 泳 洋 流 消 深 温 港 湖 湯 漢 炭 物 球

キーボードの出入りに合わせる自前アニメーション処理は不要

UITextViewなどがファーストレスポンダになったときにキーボードが出てきて、それと同時に画面上のUIパーツもキーボードで隠れないように上に移動させることがよくあります。 キーボードの動きとUIパーツの動きのタイミングを合わせると見た目がシンプルになります。このUIパーツのアニメーションを自分で書くのではなく、OSに任せることが出来ます。 やり方 keyboardWillShowNotificationを受けたときに走らせるメソッドで、動かすUIパーツのframeやcenterの情報を書きます。あとは自動でアニメーションを行ってくれます。 シミュレーションで確認してみると、これが出来るのはiOS10からのようです。 自動でやってくれるのはUIパーツのframeの設定だけでなく、UITextViewの大きさを変更したときにカーソルが表示領域に入るようにスクロールオフセットの値を調整するのもやってくれるようです。 キーボードが出てくるときと同様にキーボードがしまわれるときは keyboardWillHideNotification を使います。 いたれりつくせりですね。 https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific https://stackoverflow.com/questions/35914577/uikeyboardwillshownotification-animation https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific https://medium.com/@shenghuawu/observe-ios-keyboard-notifications-a49323813656

UIViewを角丸にしようとしてもdraw(_ rect: CGRect)をオーバーライドしたら四角になる

Xcode 10.1 Swift 4.2 UIViewの角丸は class MyView: UIView { init() { super.init(frame: .zero) self.backgroundColor = UIColor.white self.layer.cornerRadius = 10.0 } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } } とすると出来る。 しかし次のように override func draw(_ rect: CGRect) を書いてしまうとダメになる。 class MyView: UIView { init() { super.init(frame: .zero) self.backgroundColor = UIColor.white self.layer.cornerRadius = 10.0 } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func draw(_ rect: CGRect) { super.draw(rect) } } この場合、self.clipsToBounds = trueをinit()などに書いてやると丸く収まる。 しかし、viewにシャドウを付ける場合はself.clipsToBounds = trueによってシャドウが消える。角丸にしてシャドウをつけるのはよくあるので困る。

MPMusicPlayerControllerのappendQueueDescriptor

MPMusicPlayerControllerのappendQueueDescriptorは仕様上はiOS10.3からだが、iOS10.3ではうまく機能しない。iOS11以降はOK.。 // Adds the contents of the queue descriptor to the end of the queue - (void)appendQueueDescriptor:(MPMusicPlayerQueueDescriptor *)descriptor MP_API(ios(10.3));