Skip to main content
SwiftUI+Chart

Chart がきた

iOS には今まで標準ライブラリでチャートを表示させる方法がなく、外部ライブラリに依存しっぱなしだったのですがとうとう Swift にもチャートライブラリが実装されました。

正直、機能としてはまだまだ足りないところがあるのですが標準機能として実装されるのはありがたいですね。

今回はCreating a chart using Swift Chartsを読みながら、SwiftUI でチャートを実装させるための方法を学んでいこうと思います。


About 2 minSwiftUISwift
SwiftUI+UIKit

AppDelegate + SceneDelegate

SwiftUI ではAppDelegateSceneDelegateがないので@UIApplicationDelegateAdaptorを使って対応する。

こうすると今までと同じようにAppDelegateSceneDelegateが使えます。

@main
struct mainApp: SwiftUI.App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      ContentView()
    }
  }
}

class AppDelegate: NSObject, UIApplicationDelegate, UIWindowSceneDelegate {
  func application(
    _ application: UIApplication,
    configurationForConnecting connectingSceneSession: UISceneSession,
    options: UIScene.ConnectionOptions
  ) -> UISceneConfiguration {
    let config = UISceneConfiguration(
      name: nil,
      sessionRole: connectingSceneSession.role
      )
    config.delegateClass = AppDelegate.self
    return config
  }
}

About 2 minSwiftUISwift
SwiftUI+Introspect

Introspect

Introspect は SwiftUI のコンポーネントの裏に UIKit がいることを利用して SwiftUI のコードでは直接カスタマイズできないコンポーネントのかゆいところに手を届かせるためのライブラリです。

ScrollView

SwiftUI でScrollViewにはrefreshableが効かないのですが、Introspect を使えば効くようにできます。


About 1 minプログラミングSwiftUISwift
Xcodeで秘密鍵をソースコードにベタ書きしたいとき

秘密鍵の取り扱い

大前提として、秘密鍵をファイルにそのまま平文で書くことは全く推奨されません。

そのファイルが洩れれば、即座にセキュリティが崩壊することになるからです。

一般的には.envなどで対応することが多いと思うのですが、Xcode にはそんな嬉しい機能がありません。

正確には起動時に実行されるスキーマを変更すれば環境変数を設定することができるのですが、それをしても秘密鍵が書き込まれるのが*.swiftになるか*.xcodeprojになるかの違いしかないので意味がありません。


Less than 1 minuteSwiftXcodeプログラミング