[iOS]-AWSとの併用


iOSではAWSをDBとして使用


周辺アプリケーションの開発を学ぶ多くの人は、初期にGoogle Cloud Platform(GCP)を外部データベースとして使用した。


-Realtime database-
私も1年くらいGCPを使っていますが、初心者向きだと思います.
リアルタイムでデータを表示する変化プロセスは、どのデータベースにも提供されない非常に特別な機能だと思います.リアルタイムで変更でき、リアルタイムで確認できます.
しかし、先日HellobesのCTOから問い合わせを受けた結果、GCPも良いプラットフォームだったが、最終的に現在の業界に進出すればAWSが使われることが分かった.
そして、本当に勉強しても悪くない・・・
会社がAWSを使う最大の原因は「お金」です.
GCPはAWSよりずっと高いそうです.
実際、私のような初心者のアプリケーション開発者は、価格の違いを感じるほど大きなデータを処理したことがないので、全く予想していませんでした.(実際には、無料レベルを超えていないデータの数だけを処理しています)
明らかに、私はアプリケーションの開発を停止するつもりはありませんので、この機会に、私は真剣に勉強し始め、AWSをアプリケーションテストに応用しました.
AWSは確かに親和アプリがないという思いを学習の過程で感じましたが.HostPageをネット上に置いて、アプリはSubを使っている会社で使うべきだと思います.

AWS Cognitoによるログイン機能の追加


実はAWSのホームページで見るとGCPほど詳しくないのですが….ログイン、ログアウト、会員加入など、Auth機能の追加方法を詳しく教えています.ガイドライン上も明確です.
しかし不思議なことに、わが国のホームページにはSWIFTUIを使ったガイドブックが紹介されています.
もちろんswiftで説明します.

AWSガイドでは、簡単なTooアプリケーションをAWS識別、データベース、ストレージなどに保存、更新、削除する方法について説明しています.

1.UserDataクラスを作成し、Noteクラスを作成します。



2.Amplifyを利用するために端末にAmplifyをインストールする



npmがインストールされていない場合は、他にも多くの方法があります.
この方法でインストールしない場合は、無敵sudoを使用することをお勧めします.

3.ディレクトリに移動し、Amplify initを使用



gitまたはcocoapodと同様にamplify initを使用して初期化します.
ここで重要なのはawsを使い始めたばかりの人はprofileがないと伝言を残します.
そのときprofileを生成します.
awsconfigure--profile#nameで作成
AWSプロファイル設定ガイドに地域登録と認証鍵を登録してこそ、その後のプロセスが正常に動作します.

4. pod init, pod install !



カカオ豆にamplifyとtoolsを入れてinstallを入れます.

5.jsonファイルを入れる


これまでうまく従っていれば、以下に示すように2つのjsonファイルが生成されます.
プロジェクトファイルに入れる

この2つのファイルが表示されない場合、AWS Profileは正常に動作しない可能性があります.
上の過程をもう一度ゆっくりしてほしい.

6.Backendファイルの作成


Backend.swiftという名前のファイルを作成し、次の内容を貼り付けます.
import UIKit
import Amplify

class Backend {
    static let shared = Backend()
    static func initialize() -> Backend {
        return .shared
    }
    private init() {
      // initialize amplify
      do {
        try Amplify.configure()
        print("Initialized Amplify");
      } catch {
        print("Could not initialize Amplify: \(error)")
      }
    }
}

7.AppDelegateの設定

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        
        // initialize Amplify
        let _ = Backend.initialize()
        
        return true
    }
didFinishLaunchingWithOptions常に
何か入った
表面的には簡単そうに見えますが、実はProfileで大きなシャベルを作っていました…
次の記事では、ログインとログアウト機能について説明します.