잡담소장소

xcode - iCloud의 key-value 처음 사용해보기 본문

Study ;3

xcode - iCloud의 key-value 처음 사용해보기

유부뽀 2015. 9. 15. 18:22

iOS 개발 중에 데이터를 저장하기 위해서 기본적으로 NSUserDefault 를 이용하다가

iCloud의 key-value storage를 추가해보게 되었다


iCloud 이용하기 위해선 개발자 계정이 필요하여 결제하게 되었다

내가 하려고 했는데 한번 설정하면 변경도 못한다며 남편이 극구 -_- 말리는 바람에 계정 생성은 남편에게 맡기고 활성화된 계정을 받아서 개발하게 되었다. 


iCloud계정이 없는 경우 [NSUbiquitousKeyValueStore defaultStore] 이 부분에서 아래와 같은 에러가 난다

NSUbiquitousKeyValueStore error: [BUNDLE_IDENTIFIER] has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement


결제완료한 개발자 아이디를 XCODE 설정에 Add Apple ID를 통해 추가하고

프로젝트의 general > identity > team 에서 선택해준다

그 다음 Capabilities 에서 iCloud를 ON으로 변경하고 내가 사용하고자 하는 key-value storage에 체크하였다

아래에 써있는 steps는 예전 버전에서 직접 입력했던 부분을 적어놓은 듯 하였다 ㅠ.ㅠ

뭔가 더 해야하는 줄알고 한참 뒤져보니 이게이거...-_-;;

점점 편해지고 있는 xcode였던 것이다


처음 iCloud를 사용한다고 하면 인증서를 만들라고 한다

Your iOS Development Certificate for “[TEAM_NAME]" not found on the Member Center. Xcode can submit a certificate signing request on your behalf. Would you like Xcode to do so now?

아무 생각없이 인증서 생성 요청(request)을 눌렀더니 남편이 또 경악 ㅠ.ㅠ

원래는 자기 키쌍을 만들어서 그걸로 인증서 신청을 하고 해당 키쌍은 보관하고 나중에 그 키가 있어야 인증서를 쓸 수가 있다고 한다


난 이미 request를 눌러서 나의 키체인 접근에 공개키/개인키가 생성되어 있으며

그걸 export해서 보내놔야 private key로 사인을 해서 집에서도 인증서를 사용할 수 있다고 했다

키체인 접근에서 키체인>로그인, 카테고리>키 에서 만료가 딱 1년 후로 설정된 공개키와 인증서가 딸린 캐인키를 발견할 수 있었다 ;ㅁ; (iOS Developer: TEAM_NAME, iPhone Developer: TEAM_NAME)


키들을 export하여 .p12, .pem파일들을 메일로 보내고 다시 작업을 시작하였다 -ㅅ-


NSUserDefault와 NSUbiquitousKeyValueStore를 연동시켜주는 방법을 검색하였더니 이미 개발된 라이브러리가 이미 널리 사용되는 것 같았다

그래서 해당 코드를 보고 필요한 부분만 가져다가 코드에 녹여봤는데 이번엔 iCloud Drive is not configured 라는 에러가 나서 다시 열심히 검색해보니 iOS 시뮬레이터 버전이 7.1 이상이어야 된다고 해서 시뮬레이터들을 받으려고 했더니 남편이 또 경악하며 이미 8.4 버전이라며 ㅠㅠ 하하하핳ㅎㅎ


<key>NSUbiquitousContainers</key>

<dict>

<key>iCloud.popo1211.PayForDebt</key>

<dict>

<key>NSUbiquitousContainerIsDocumentScopePublic</key>

<true/>

<key>NSUbiquitousContainerName</key>

<string>MyApp</string>

<key>NSUbiquitousContainerSupportedFolderLevels</key>

<string>Any</string>

</dict>

</dict>

이런 부분을 넣으라는 것도 봤는데 이건 key-value storage가 아닌 iCloud document와 관련된 부분이었다;

 그외에 튜토리얼 사이트도 발견하였다


하지만 문제는 다름 아닌 시뮬레이터에 계정을 입력하지 않은 것일뿐...ㅠ하하하 이런 멍청한...-_-

아무튼 계정을 입력하니 잘 ..되더라..

뭔가 쉬운 작업들인데 모르고 하려니 이런 삽질이 없다 ㅋㅁㅋ


반응형

'Study ;3' 카테고리의 다른 글

angularjs 2 hello world  (0) 2016.02.23
키체인에 공개키 추가하기 in Mac  (0) 2015.09.15
angularJS Tip(일지 아닐지..)  (0) 2015.09.10
Ruby on Rails Free Tutorial  (0) 2015.09.07
javascript 붙여넣기/입력 글자수 제한  (0) 2015.05.26
Comments