feed
2020年12月07日, 編集履歴
中古のiPhone 8を中古ショップ「じゃんぱら」で購入した。
iPhone 7からの乗り換えである。iPhone 7のバッテリー劣化が進み1日持たなくなってきていた。就寝前に90%以上あったバッテリー残量が、朝起きたら0で電源が落ちていたこともあった。iOS上の表示でも修理サービスを推奨されていたりもした。iPhone 12系にTouch IDが付いていれば欲しかったのだが、Face IDのみだったので見送り。来年のiPhone 13系に期待。
それまでの繋ぎとしてiPhone 8の中古を購入した。中古ショップの中から「じゃんぱら」を選んだのは次の理由。
- 大きな実物写真がある(写真がないものもある)
- バッテリー最大容量記載がある(記載がないものもある)
- 検索や条件絞り込みがしやすい
「中古 iphone」とかで検索して出てくる中古ショップの中でじゃんぱらが一番使いやすかった。他のショップにも、上記のひとつかふたつを満たすものはあったが、実物写真がまったくなかったり、解りづらかったり、検索や絞り込みがザルで目当ての品が探しにくかったりした。
たとえば、じゃんぱらで「iPhone 8」「レッド」「外装ランクB以上」「バッテリー最大容量が95%以上」の在庫は、
iPhone8(iPhone)の検索結果 全店舗|じゃんぱら
のようになる(詳細検索で「未使用」と「外装ランク」で組み合わせると結果が出ないとか、詳細検索と絞り込み検索が併用できないとかの不具合?がある。除外キーワード等で工夫しなければならない)。
今回購入したiPhone 8は外装ランクAでバッテリー最大容量100%のものを選んだ。届いた商品は外装に傷ひとつなく新品同様だった。おそらく前所有者がApple Care等の保障制度を使用して新品状態に交換してから売り払ったのではと予想する。
今まで使っていたiPhone 7も2019年1月にじゃんぱらで購入した。外装ランクBだったその端末は、側面に小さな傷がひとつと背面にケース着脱によると思われる目立たないスレがあった。私的には、中古品としては美品の部類だったと思う。
じゃんぱらでは中古品のランクに、未使用品・A〜Dがある。私が2回購入した経験上では、外装ランクBで小さな傷、Aで新品同様の品が届いた。
外装ランクが同じでも、購入者の中古品に対する考え方や、ショップ側の査定者によって程度は異なるだろうから、必ず実物写真を確認した上で、ランクB以上の中から購入すれば、そうひどい状態のものは届かないだろう。
SIMロック未解除トラブル
本来であれば記事はもう終わりだったのだが、今回購入した品が「SIMロック解除済み」を謳っていたはずが、届いた端末はロック未解除状態で手持ちのMVNO SIMが使えないというトラブルに見舞われた。
販売ショップに問い合わせたらすぐにロック解除してくれた。それまで知らなかったのだが、SIMロックって非所有者が端末が手元にない状態でもかんたんに解除できるものなんだね。ショップに問い合わせずとも、自分でも手数料も掛からず解除できるようだ。
レアケースだろうし、トラブルとは言え瑣末なものだったが、一応記載しておく。
ともあれ、中古iPhone探すなら「じゃんぱら」がなかなか良いと思う。
2020年11月26日, 編集履歴
iOSで着信/通知音量を設定できるRingerVolumeというアプリ/ショートカットアクションを作った。iOSの非公開フレームワークを使っておりApp Storeには出せないので、GitHubにソースコードを公開しておく。
アプリ本体には中央にスライダがひとつあるだけ。そのスライダを操作することでiOSの着信/通知音量を変更できる。これ自体に使い道はほぼない。もしかしたら、ボリュームボタンがイカれてしまった端末においては有用かもしれない。
私的な本丸はショートカットアクションである。RingerVolumeをインストールすると、iOSのショートカットアプリで着信/通知音量を設定できるアクションが使えるようになる。

私は、寝る前に複数用意したアラームをショートカットで一斉にONにしている(低電力モードへの切り替えも)。この時にアラーム音量も一緒に最大まで上げておきたい。また、それとは別の機会には30%程度の音量に絞ってアラームを鳴らしたい、という要件がある。
ここで、アラームの音量は着信/通知音量に依存する。ショートカットアプリには元々「音量を設定」というアクションが存在し、その説明は「システムボリュームを設定します」とあるが、これで設定できる音量は音楽や動画といったメディアの再生音量であって、着信/通知音量ではなかった。iOS 14.0の時は「音量を設定」アクションで着信/通知音量を設定する方法があったのだが、iOS 14.2の現在はできなくなってしまった。
これがRingerVolume開発の動機である。
もし私以外にもiOSの着信/通知音量をショートカットから変更したいひとがいたらビルド・インストールしてみてくださいな。
2020年11月23日, 編集履歴
iOS用アプリPalmtop Bellのver. 3.0.1をリリースした。
Palmtop Bellはタイマー機能付きの卓上ベルアプリ。8分・10分・15分など、最大3つのタイマーを設定できるので、プレゼン練習なんかをやるときにいいんじゃないでしょうか。
前回のリリースが2013年11月なので、ちょうど7年ぶりになる。数年前、長い間更新されていないアプリがApp Storeから一斉に削除されるという話があった。本アプリはその時点で数年単位でアップデートされていなかったのだが、運良く見逃されて今までずっと配信されていた(もうひとつApp Storeに出していたアプリは消された)。
アップデート前でもiOS 14でちゃんと動作できていたが、表示が一部崩れてしまっていた。それが急に気になって、今回数年ぶりにアップデートした。
アップデート前はObjective-Cで書いていたのものを改修するにあたり、イチから書き直そうと思って最初はSwiftUIを試してみた。しかし、ちょっと骨組みを作ったところでイマイチしっくりこず、以前のObjective-Cのプロジェクト内容をひとつずつSwiftに置き換えていく方法に切り替えてリリースした。次に改修するときはSwiftUIになるかもしれない。
改修に伴い、対応OSはiOS 14以降にした。
2020年08月21日, 編集履歴

macOS用アプリSilver Batonのver. 1.2.1をリリースした。
Silver Batonは、Music.appで再生中の曲情報の表示、再生・一時停止や音量調整、レートの変更等をコントロールできるパネルを表示するアプリ。

ver. 1.2.1のアップデート内容は以下の通り。
- 調整できる音量の最大値を制限する設定を追加
- パネルを表示する位置を変更する設定を追加
- アートワークのクリックでパネルのサイズを変更する機能を追加
前回の初期リリース時に記事を書いていなかったので、Silver Batonの開発経緯を少し語る。
最初は、単純にMusic.appの再生・一時停止を制御したかっただけ。それならばTouch Barのメディアコントロールボタンで用が済むのでは、となるが、私はTouch Barには不満があった。
それは、ブラウザでYouTube等を開いていると、Touch Barの再生・一時停止ボタンの制御先がMusic.appではなく動画のほうになってしまうこと。Music.appで曲を再生しながらのブラウジング中に動画が始まった場合、曲を止めようとしてTouch Barのボタンを押しても止まらない、動画視聴後に曲を再開しようとしても再開できないという状態になる。これがストレスだった。
動画の視聴はふつうは一番前面の見える範囲で行うので、再生・一時停止は通常の動画UIの中で行えばいい。Music.appでの音楽はUIが見えていないバックグラウンドで行っているので、再生・一時停止は手元のTouch Barでかんたんに操作したかった。
そういう理由で、手元でかんたんに呼び出してMusic.appを制御できるアプリを開発したのだ。同じような悩みをお持ちの方は使ってみてください。
2020年04月02日, 編集履歴
寝坊を恐れるあまりアラームを何本も設定していると、逆に油断して二度寝、三度寝が発生してしまいがちである。寝ぼけマナコで止めたアラームは一体何本目のアラームで今は何時何分なのか。アラームを止める手も慣れたもの、ほぼノールックなので時間なんて解らない。これは一本目のアラームだからまだ余裕があるなんて思ってダラダラしていたら、実は一本目のアラームは聞き逃していてすでに猶予がない状況だった、なんてのがありがち。
そんなときにアラームが現在時刻を喋ってくれると良いのではないか。iOSのショートカットとオートメーションの機能を使ってこの課題を解決する。

まずは上記画像の左側、現在時刻を読み上げるショートカットの設定。
- 「現在の音量」を取得
- 音量を任意に設定
- 「現在の日付」を読み上げ
- 「日付フォーマット」は「なし」
- 「時間フォーマット」は「短」
- 音量を最初に取得した「現在の音量」に設定
次に上記画像の右側、オートメーションの設定。
- オートメーション開始のきっかけは「いずれかのアラームがスヌーズした」と「いずれかのアラームが停止したとき」
- 実行内容は上述のショートカット
- 「実行の前に尋ねる」はオフ
これでアラームがスヌーズ・停止したときに現在時刻が読み上げられる。寝過ごし防止の一助となるであろう。
オートメーション開始のきっかけとして、スヌーズ・停止時ではなく「アラームが鳴ったとき」のようなものがあればより良かった。というか、現在時刻を読み上げてくれる特別なアラーム音があれば、ショートカットだオートメーションだと騒がなくて済むのだが。