Apple 플랫폼에서 Cloud Storage 시작하기

Cloud Storage for Firebase를 사용하면 이미지와 동영상 등 사용자 제작 콘텐츠를 업로드 및 공유하여 앱에 리치 미디어 콘텐츠를 빌드할 수 있습니다. 데이터는 Google Cloud Storage 버킷 — 엑사바이트급 규모의 객체 스토리지 솔루션으로서 이중화. Cloud Storage for Firebase을(를) 통해 이러한 파일을 안전하게 업로드할 수 있습니다. 모바일 장치 및 웹 브라우저에서 직접 연결되고, 인터넷 연결로 인해 있습니다.

기본 요건

  1. Firebase SDK를 설치합니다.
  2. Firebase 콘솔에서 Firebase 프로젝트에 앱을 추가합니다.

기본 Cloud Storage 버킷 만들기

  1. Firebase 콘솔의 탐색창에서 Storage를 선택합니다. 시작하기를 클릭합니다.

  2. 보안을 사용하여 Cloud Storage 데이터를 보호하는 방법에 관한 메시지 검토 있습니다. 개발 중에는 공개 액세스 규칙 설정

  3. 기본 위치를 선택합니다. Cloud Storage 버킷

    • 이 위치 설정이 프로젝트의 기본 Google Cloud Platform(GCP) 리소스 위치입니다. 이 위치는 프로젝트의 GCP 서비스에 사용됩니다. 위치 설정이 필요한 광고를 게재합니다. Cloud Firestore 데이터베이스 및 App Engine 앱 (Cloud Scheduler를 사용하는 경우 필수)

    • 위치를 선택할 수 없다면 프로젝트에 이미 기본 GCP 리소스 위치가 있는 것입니다. 이 위치는 프로젝트 생성 과정이나 위치 설정이 필요한 다른 서비스를 설정할 때 지정한 것입니다.

    Blaze 요금제에서는 각 위치가 설정된 버킷을 여러 개 만들 수 있습니다.

  4. 완료를 클릭합니다.

공개 액세스 설정

Cloud Storage for Firebase는 선언적 규칙 언어를 제공하므로 이를 통해 데이터의 구조, 색인 생성 방법 및 시기 정의 데이터를 읽고 쓸 수 있습니다 기본적으로 Cloud Storage에 대한 읽기 및 쓰기 액세스는 인증된 사용자만 데이터를 읽거나 쓸 수 있도록 제한됩니다. Authentication를 설정하지 않고 시작하려면 다음 안내를 따르세요. 공개 액세스 규칙을 구성합니다.

이렇게 하면 내 기기를 사용하지 않는 사람을 포함하여 모두에게 Cloud Storage이(가) 공개됩니다. 설정 시 Cloud Storage을(를) 다시 제한하세요. 있습니다.

앱에 Cloud Storage 추가

Swift Package Manager를 사용해 Firebase 종속 항목을 설치하고 관리하세요.

  1. 앱 프로젝트를 연 상태로 Xcode에서 File(파일) > Add Packages(패키지 추가)로 이동합니다.
  2. 메시지가 표시되면 Firebase Apple 플랫폼 SDK 저장소를 추가합니다.
  3.   https://github.com/firebase/firebase-ios-sdk.git
    드림 <ph type="x-smartling-placeholder">
  4. Cloud Storage 라이브러리를 선택합니다.
  5. 타겟 빌드 설정의 Other Linker Flags(기타 링커 플래그) 섹션에 -ObjC 플래그를 추가합니다.
  6. 완료되면 Xcode가 백그라운드에서 자동으로 종속 항목을 확인하고 다운로드하기 시작합니다.

Cloud Storage 설정

Firebase 참조를 만들거나 사용하려면 우선 Firebase를 초기화해야 합니다. 다른 Firebase 기능을 위해 이 단계를 이미 수행했다면 건너뛰어도 무방합니다.

  1. UIApplicationDelegateFirebaseCore 모듈과 앱 대리자가 사용하는 다른 Firebase 모듈을 가져옵니다. 예를 들어 Cloud FirestoreAuthentication을 사용하려면 다음을 실행합니다.

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. 앱 대리자의 application(_:didFinishLaunchingWithOptions:) 메서드에서 FirebaseApp 공유 인스턴스를 구성합니다.

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. SwiftUI를 사용하는 경우 앱 대리자를 만들고 UIApplicationDelegateAdaptor 또는 NSApplicationDelegateAdaptor를 통해 App 구조체에 연결해야 합니다. 앱 대리자 재구성도 중지해야 합니다. 자세한 내용은 SwiftUI 안내를 참조하세요.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. 기본 Firebase 앱을 사용하여 Cloud Storage 서비스에 대한 참조를 가져옵니다.

    Swift

    let storage = Storage.storage()

    Objective-C

    FIRStorage *storage = [FIRStorage storage];

이제 Cloud Storage을(를) 사용할 준비가 되었습니다.

먼저 Cloud Storage를 만드는 방법을 알아보세요. 참조

고급 설정

다음 사용 사례에는 추가 설정이 필요합니다.

첫 번째 사용 사례는 사용자가 전 세계에 분포해 있고 사용자와 가까운 곳에 데이터를 저장하려는 경우에 적합합니다. 예를 들어 미국, 유럽, 아시아에 버킷을 만들고 해당 리전 사용자의 데이터를 저장하면 지연 시간을 줄일 수 있습니다.

두 번째 사용 사례는 데이터의 액세스 패턴이 다양할 때 유용합니다. 예를 들어 사진과 같은 자주 액세스하는 콘텐츠를 저장하는 멀티 리전 또는 리전 버킷을 설정하고, 사용자 백업과 같은 자주 액세스하지 않는 콘텐츠를 저장하는 Nearline 또는 Coldline 버킷을 설정할 수 있습니다.

이러한 사용 사례에서는 여러 Cloud Storage 버킷 사용

세 번째 사용 사례는 Google Drive와 같이 사용자가 여러 개의 계정(예: 개인용 계정과 업무용 계정)으로 로그인할 수 있는 앱을 빌드할 때 유용합니다. 커스텀 Firebase 앱 인스턴스를 사용하여 추가 계정을 각각 인증할 수 있습니다.

여러 Cloud Storage 버킷 사용

위에 제공된 기본값 이외의 Cloud Storage 버킷을 사용하려면 다음 안내를 따르세요. 단일 앱에서 여러 Cloud Storage 버킷을 사용하려는 경우 인스턴스를 만들어 커스텀 버킷을 참조하는 FIRStorage 그룹:

Swift

// Get a non-default Cloud Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
    

Objective-C

// Get a non-default Cloud Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
    

가져온 버킷 활용하기

기존 Cloud Storage 버킷을 Firebase로 가져올 때 다음을 수행합니다. 파일에 액세스할 수 있도록 Firebase에 권한을 부여해야 합니다. gsutil 도구( Google Cloud SDK:

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

Firebase 프로젝트 소개에 설명된 대로 프로젝트 번호를 확인할 수 있습니다.

새로 생성된 버킷은 액세스 제어에서 Firebase를 허용하도록 기본 설정되어 있으므로 이에 영향을 받지 않습니다. 이는 일시적인 조치로 향후 자동으로 수행될 예정입니다.

커스텀 Firebase 앱 사용

커스텀 FirebaseApp을 사용하여 보다 복잡한 앱을 빌드하는 경우 해당 앱으로 초기화된 Storage 인스턴스를 만들 수 있습니다.

Swift

// Get the default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp)

// Get a non-default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
    

Objective-C

// Get the default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp];

// Get a non-default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
    

다음 단계