t-osawa-009 blog

学んだことを載せます

ゲーミングモニターを1か月使ってみた感想

1ヶ月ほど前にゲーミングモニターを買って見ました。使って見てとても良かったので感想をまとめたいと思います。

 

買ったのはこちらのモニターです

www.dell.com

 

良かったところ 

タイピングが気持ちいい

寿司打をやって見るといつもより高速で打てている感じがします。プログラミングでも同様に入力が高速に感じます。

 

画面の切り替わりにストレスがない

Webページの切り替わりも体感で早く感じ、

ストレスがないです。

 

マイナス要素

60hzの普通のモニターで遅延を感じるようになりました。

良いものを知ってしまったことによって、普通のものでは満足しなくなってしまいました。

 

価格はやはり高いです。簡単に買えるものではないので吟味して、買うかどうか決断が必要です

 

まとめ

結論として、満足のいく買い物でした!

 

 

 

 

Swift Package ManagerでBundle.moduleがビルドエラーになる

現象

Swift Package Managerでlocalのファイルを読み込む処理を追加した。(JSONファイル) ビルドするとType 'Bundle' has no member “module”のエラーが出てしまう

解決策

Package.swiftのtargetsで指定したディレクトのpathと実際のディレクトがずれていて、test.jsonを読み込めていなかった。 実際のディレクトPackage.swiftに合わせるとエラーは解消した。 今後、注意していきたい!

// swift-tools-version:5.4
import PackageDescription

let package = Package(
    name: "Hoge",
    platforms: [
        .iOS(.v13)
    ],
    products: [
        .library(
            name: "Hoge",
            targets: ["Hoge"]),
    ],
    dependencies: [],
    targets: [
        .target(
            name: "Hoge",
            dependencies: [],
            path: "Hoge",
            resources: [.process("Resources/test.json")])
    ]
)

iPhone simulatorでmacのファイルを読み込めるようにしたらデバッグが快適になった

はじめに

最近のiOSアプリ開発APIとの接続は必須になってきた。

その中でAPIのリスポンスをもとに期待した動作を確認することが必要になってくる。

その確認を楽にするための方法を考えました

こちらのライブラリを参考に実装した

krzysztofzablocki/KZFileWatchers

環境

Xcode 12.5

Build version 12E262

Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)

Target: arm64-apple-darwin20.5.0

 

やりたいこと

iOS側でAPIのレスポンスを受け取る部分を差し替えて、Macjsonファイルを読み込むようにして、期待するレスポンスを返せるようにする。

実装

最初にmacディレクトのpathを返すメソッドを用意

class func simulatorOwnerUsername() -> String {
      let usernameConmponets =NSHomeDirectory().components(separatedBy: "/")
      guard usernameComponents.count > 2 else { fatalError() }
      return usernameComponents[2]
}

次にDeskTopのpathを作成して、Data型をして呼び出す

 func loadfile(filename: String = "test.json") -> Data? {
        #if targetEnvironment(simulator)
                let path = "/Users/\(Self.simulatorOwnerUsername())/Desktop/\(filename)"

                if !FileManager.default.fileExists(atPath: path) {
                    return nil
                }

                let url = URL(fileURLWithPath: path)
               guard let content = try? Data(contentsOf: url, options: .uncached) else {
                  return nil
              }
              return content
        #else
              return nil
        #endif
    }

Data型にすることでCodableなどで簡単に扱うことができる さらにMacでファイルを更新すれば、レスポンスの値を動的に変更できるのでデバッグが更に楽になります