ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210416 - TIL
    TIL/2021 2021. 4. 16. 11:19

    오랜만에 작성했는데 다 쓰고 모르고 잘못 눌러쓴걸 다 날려버렸다ㅠㅠㅠㅠㅠ

    흐어어어엉ㅠㅠㅠㅠㅠ 

     

     

    Blob을 활용하여 관리자페이지, App 이미지 저장하기

     

    사용자의 프로필 사진을 저장할때 사용할 방법은 Azure에서 제공하는 스토리지 계정에 컨테이너에 이미지를 저장시키고 URI를 가져온 다음 이 이미지를 device에 저장시키는 방법을 사용할 예정이다.

    먼저 관리자페이지에 사진을 올리는 것은 app사용자에게는 큰 의미는 없고 그냥 만들어본 것이다.

     

    관리자페이지에서 이미지 저장

     

    iOS나 .net에서 이를 이용하기 위해서는 pod AZSClient나 WindowAzure.Strorage를 설치하고 

    여기서 제공하는 account, client, container를 이용해서 container에 접근해서 파일을 저장시키고 URI를 가져오면 됐다.

    URL과 URI의 차이점을 모르고 있었는데 이 기회에 공부했다.

     

    관리자 페이지에서 구현을 하다 생긴 문제!!

    이 오류는 put이나 post 할 때 Bind에 대한 이해가 없어서 생긴 문제였다.

    Bind는 파라미터로 전달되는 데이터중에 지정된 데이터만 받기 위해서 사용하는 메서드이다. Bind에 FamilyId를 넣지 않아서 생긴 문제였다.

    아니면 Bind를 그냥 삭제해도 됐다.

     

     

    관리자 페이지에서 사진을 저장하다 발생한 오류

     

    app에서는 BlobManager class를 만들어 URI를 가져오는 거 까지는 구현을 했고 남은 건 File을 device에 저장하는 일만 남았다.

     


     

    FileManager를 이용하여 directory, file device에 저장하기

     

    기본으로 제공되는 FileManager의 singleton 객체를 이용하여 간단한 저장은 무리 없이 할 수 있다.

    File을 다룰 때 주의해야 하는 부분은 사용자가 직접 생성하지 않은 파일은 백업 대상에서 제외되어야 한다고 한다. 그렇지 않으면 심사에서 리젝을 당하는 거 같은데 아직 구현하지 않아서 공부를 더 하고 구현을 해봐야겠다.

     

     

     


     

    UserDefaults를 사용하여 App이 설치 후 첫 시작인지 확인하기

     

    로그인 후에 App의 화면을 keychain값이 저장되어 있는지에 따라 다르게 출력하도록 구현을 했는데 keychain은 app이 삭제돼도 지워지지 않고 남아있어서 문제가 발생한다. 그렇다고 app이 삭제될 때 실행되는 코드가 있는 것도 아니므로 방법이 딱히 없었다.

    그래서 이를 해결하기 위한 방법으로 UserDefaults를 사용했는데 UserDefaults는 app을 삭제하면 같이 삭제가 된다. 이를 이용하여 appDelegate에서 설치 후 첫 실행 때 첫 실행인지 아닌지 구별할 수 있는 값을 UserDefaults에 저장시키고 첫 실행이라면 이전에 존재한 keychain을 모두 지우는 방식을 사용했다.

     

     

    728x90

    'TIL > 2021' 카테고리의 다른 글

    210421 - TIL  (0) 2021.04.22
    210419 - TIL  (0) 2021.04.20
    3월 1주차 회고  (0) 2021.03.08
    210207 - TIL  (0) 2021.02.08
    210204 - TIL  (0) 2021.02.05
Designed by Tistory.