STUDiO405

趣味のスノーボードやSK8、キャンプ、山登り、iOSアプリ開発関連のブログになる予定

AirPods Pro(第2世代)さん、こーんにーちわーー!!

結構長い間ゆる〜くなが〜いお付き合いのある、あい@R&MStudio inc.(@r_grey)さんから下記の企画でタイトルのブツをプレゼントしていただきました。


ありがとうございます!!ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ
 
お礼の代わりにレビューをしたいと思います。
レビューしますね!と言っておきながら仕事が忙しかったり仕事の忙しさを忘れるために忙しくて、遅くなりました。
スイマセン...w
 
ここから本題。
ど素人なのでレビューと言うよりも感想文ですかね。
 
とある日、メンション飛んできて確認したらAirPodsが当たったとの内容でした。
AirPods?ハテ?いつ応募したんだろ?と思い出すまで若干時間がかかりましたけど。。。
(ものすごく欲しいと思ってたNitendo Switchは外れたのは覚えていたんですけどねw)
応援の意味でRTしてましたのでまさか当たるとは思っておらず。
これは無欲の勝利!!w
 
前置きはここまでにして、初めてのAirPods Pro(第2世代)の感想をば。
AirPods Pro(第2世代) - Apple(日本)
注) ブログの中の人はもう何年もイヤホンとかで音楽聴いてないです。

 
まずはアンボックスしての初装着後の感想から。

ノイズキャンセル機能搭載のイヤホン使うのも初めてなので、他との比較はできないですけど違和感なく周囲の音がかなり小さくなりますね。
なんか自然な感じというかなんというか。
対応している音源であれば、耳の向いている方向を変えると音の聞こえてくる方向も変わるという、面白い感じですね。
耳の穴とのフィット感も抜群で、思ったよりも音質も良かったです。
アコギとかは結構いいなと思いました。
低音もちゃんと出ているのでロックでも問題なし。
 
我が家では私が在宅で仕事中以外は、家族もAmazonのEcho使ってそこそこの音量で音楽流しているので、AirPods Proのノイキャン使うとそちらからの音が聴こえてこないのでベリグーです。
それとSafariYoutubeの海外のライブとか良く聴くんですけど、AirPodsで再生停止もできるので至極便利。
ものすごく久々にいいものゲットできたなって感じです。
ちょっと日本語変なのと、使ってもいないApple Watchの名前も出して余計なことを言っていますが、これが一番の感想かな。

ホント、いいものいただきました。

あい@R&MStudio inc.(@r_grey)さん、改めてありがとうございました。
次のプレゼント企画も検討中らいしいので楽しみに待っていますー!

2021年の目標

コロナの状況は変わらず、今年も在宅勤務が継続になりそうです。

ここ数年は正月に太って体重自己記録更新していました。
昨年は在宅勤務が春ごろから始まり、だいたい月に7日前後しか出勤しないので、
体重が落ちる要素がありません。
夏前までは勤務前に軽い筋トレと有酸素運動していたのですが、
猛暑とその後の仕事で残業が増え運動不足になりました...(゚д゚)マズー
 
なので今年は72kg前後の体重を減らすのを主な目的にしたいと思います。
(ダイエットについてはずっと言っていますが今年も変わらずってことです(;・∀・))
 
もう結構なおじさんになっているので、運動だけでは減らせません。
食事の量を減らし、毎日運動して減量したいと思います。
(運動はウォーキング/ジョギング、スクワット、プランクなどを)
目標値は最低でも67kg。できれば62kgにします。
また、これに関連してFlutterでアプリ作ろうかと。
(食事関連じゃないですけどね)
 
他の趣味の話としては、以下を目標にします。
ギターは昨年も結局数回しか弾いていないので、もっと弾く時間を作りたいと思います。(毎年言ってる...)
そろそろキャンプや釣り、山歩きも再開したいですね。1回ずつくらいはやりたいです。
スノーボードの方は、滑りたいんですけどいくのが億劫になりつつあり...
行けば楽しいのは分かっているんですけどね。
近所で手軽にできるSK8の方に気持ちがいってしまっています。
こちらは年末に弾ける回数が増えたので、今年は低くても綺麗なオーリーができると良いなと思います。
 
個人開発についてはリリース済みのiOSアプリの3本がObjective-Cなので、
これをSwiftにコンバートをして、1本をSwiftUIで作成し直しを予定しています。
もちろん機能改善もやりますよ!
 
Swift化対象

Gcamera

Gcamera

  • STUDiO405
  • 写真/ビデオ
  • ¥120
Remaining

Remaining

  • STUDiO405
  • 仕事効率化
  • ¥250
SnowTracks

SnowTracks

  • STUDiO405
  • スポーツ
  • ¥120
 
SwiftUI化 + Android版作成(Flutter)
帰りますよ?

帰りますよ?

  • STUDiO405
  • ユーティリティ
  • 無料
 
新作(Flutter) x1
新作は作成過程をブログに書いていってみようかなぁ...
(やるとは言っていない)
 
 
では、引き続き今年もよろしくお願いします。

2020年の目標...

今年に入ってすでに1ヶ月経過しているわけですが、一応今年の目標を書いてみようかと。
とはいえ、去年の目標を見たのですが何も達成していないという...

基本、今年も去年と同じです。
去年できなかったのに今年はできるのか?と問われると...(;・∀・)

SNS(特にTwitter)をROMってる時間が結構あるのと飲みに行きすぎなのでまずはそこを減らさないと。
平日は仕事次第で帰宅後の時間がかなり変わるので、そこは筋トレと有酸素運動に時間として身体のケアを中心にします。
年始にまた最高体重を記録してしまったので(;・∀・)

週末はSK8とアプリ開発とギターを中心に。
ブログは...書く気になったらにしますw

去年よりは頑張らねば。。。

では今年もよろしくお願いします(遅

アプリの設計の勉強と実装経験の悩み

 
ここ数年、初めて作ったiOSアプリのGcameraのSwift移行とフルリニューアルを考えていたのですが、フルスクラッチと言うものは面倒くさがりの自分にとっては腰が重く、着手すらしていませんでした。

Gcamera

Gcamera

  • STUDiO405
  • 写真/ビデオ
  • ¥120

 
今年の目標でもGcameraのフルスクラッチを目標に挙げています。
オブジェクト指向を分かっていない状態で作り、かつ建て増ししているような感じでバージョンアップしていのでソースは肥大化しており密結合の状態です。
 
せっかく作り直すのだから設計もちゃんとしようと、Qiitaや「iOSアプリ開発デザインパターン入門」などで、MVCだけではなくMVPやMVVMなどと言った設計パターンを勉強していました。
理解力が低いので、いまいち理解しきれていませんが...orz
 
概念はわかる(ような気がしている)のですが、いざ実装を考えるとどう書くのだろう?実装サンプルを見てもなんでこんな書き方なのだろうか?となります。
せっかく購入した「iOSアプリ設計パターン入門」も読もう読もうと思いつつ、昨日少しさわりを読んだだけです。
これらの本を読み込んだり、Qiitaなどで勉強して今より理解してから着手しようかとも思いましたが、だいぶ先になってしまう気がしています。
 
では設計パターン本やQiitaなどで勉強しつつ、動くもの完成してからリファクタリングすれば良いのでは?とも思いましたが、出来たものを作り直すのはモチベーション的に上げにくいです。
過去にもクラス分割したりしているので、全く湧かないことはないのですが。
Swiftの実装も1本だけであまり手を動かしていないので実装経験ももっと積まないとと思っています。
 
さて、どうしたものか...
最近コードを殆ど書いてないですし、Swiftの書き方もっと覚えるよう実装経験と優先にした方がいいような...
よし、そうしよう。設計パターン勉強しつつ実装優先で。
フルスクラッチだから機能を少しずつ作って、リファクタリングしていけば良いことにしました。


peaks.cc

2019年の目標

健康

  • 体重60〜62kgまで落とす
  • 酒量減らす

アプリ開発

  • Firebaseを利用した新規アプリリリース
  • Gcameraフルリニューアル
  • RemainingをSwiftにコンバート
  • iOSアプリ開発での知見や悩んだことをブログへ書く

ギター

  • 弾ける曲を12曲増やす

スケートボード

  • SK8でオーリーいつでもできるようになる

仕事

  • 転職

釣り

  • ルアーで魚釣る


現場からは以上です。

iOSアプリ 1日だけ(多分)のクリスマスセールします。

この機会に是非。無料にしますぉ!

※価格が変わるタイミングにご注意ください。(ぺこり

Remaining

Remaining

  • STUDiO405
  • 仕事効率化
  • ¥250
Gcamera

Gcamera

  • STUDiO405
  • 写真/ビデオ
  • ¥120

(´-`).oO(クリスマスセールだから24日がセール日でいいんだよね?

UIApplicationOpenSettingsURLStringが使えない?

 
現在、Objective-Cで書かれている自作アプリをSwiftに移植しています。
その中でアプリ内で設定アプリ内の自アプリ用の設定画面へ遷移するメソッドを移植して稼動確認すると以下のメッセージが表示されて開きません。
 

canOpenURL: failed for URL: "UIApplicationOpenSettingsURLString:" - error: "This app is not allowed to query for scheme uiapplicationopensettingsurlstring"

 
環境
Xcode 8.3.3
Swift 3.1
macOS Sierra 10.12.6
iOS 10.0、10.3.1
 
該当のコードは以下

    func showPermission() -> Void {
        guard let settingsUrl = URL(string: "UIApplicationOpenSettingsURLString:") else {
            return
        }
        if UIApplication.shared.canOpenURL(settingsUrl) {
            UIApplication.shared.open(settingsUrl, options: ["":""], completionHandler: nil)
        }
    }

 
ちなみにUIApplicationクラスで定義されている定数です。調べたわかったのですが、値は"app-settings:"です。
 
Appleのリファレンス
https://developer.apple.com/documentation/uikit/uiapplicationopensettingsurlstring
 
移植中のアプリはDevelopment Targetを10.0にしてAPIもiSO10以降のものに変更してしまったのでこのアプリではiO9以前で検証はできないため、Objective-Cで書かれている別アプリで確認してみました。
 
Objective-Cのコード

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];

 
結果は動きました。。。はて???
ググってみてもSwift3でUIApplicationOpenSettingsURLString動いているっぽい。。。謎。
iOS10.2.1での記事もあったので10.0でも動かないのはよくわからない・・・
で、調査の途中で定数の値を知ったのでそっちに変えたところ、あっさり動きました。。。
一応コード載せておきます。

    func showPermission() -> Void {
        guard let settingsUrl = URL(string: "app-settings:") else {  // 引数を変更
            return
        }
        if UIApplication.shared.canOpenURL(settingsUrl) {
            UIApplication.shared.open(settingsUrl, options: ["":""], completionHandler: nil)
        }
    }

 
自分の環境はUIApplicationOpenSettingsURLStringの定数がなくなった?
何が原因なんでしょか?
エラーメッセージだと「このアプリは"UIApplicationOpenSettingsURLString"のURLスキームが許可されていない」と言ってます。
Info.plistの別件で登録済みのLSApplicationQueriesSchemesにこの定数を登録して再度実行してもエラーのままでした。
取り敢えず上記のコードで行くことにしました。
 
何だろうなぁ。気持ちが悪い。同じこと言ってる人いないし。
教えてエロい人!!
 
 
追記
SNSでお友達が指摘してくれました。
定数なのに""で括ってたからでした!
何と!初歩的ミス!!!
 
 
(´・ω・`).;:…(´・ω...:.;::..(´・;::: .:.;: サラサラ..