2017년 6월 10일 토요일

Mac, Xcode : 무료 프로비저닝을 이용하여 아이폰 Device 에 앱 배포하기

원래 애플에선 1년에 대력 10만원정도 비용이 드는 개발자 등록을 하지 않으면 아이폰에 앱을 배포 할수 없었다. 개발자 등록을 하지 않으면 실기기에서 테스트조차 하지 못하게 막아 버렸던 것이다.

그런데 최근에는 이 제한을 풀어 주었다.
물론 제약이 있기는 하지만, 실기기에서 테스트 해볼수 있는것만 해도 감지 덕지다.

이경우에도 일단 Apple ID 는 있어야 되며, Xcode 역시 설치되어 있어야 한다.
어찌보면 당연한 얘기 이기도 한데, 이미 개발자 등록이 되어 있는 ID 로는 무료 프로비저닝을 사용할 수가 없다.


우선 Xcode 에서 "Preference(설정)" 으로 이동.


여기서 "Add Apple ID..." 로 애플 계정을 등록해 준다.


기존에 가지고 있던 계정 정보를 넣어주거나, 새로 아이디를 가입.


그럼 이렇게 등록이 된다.
개인 계정이라 그냥 Personal Team 으로 나온다.
만약 기업계정이면 여기서 사용권한 같은것을 지정해 줘야 한다. 개인계정이라 딱히 더 할건 없다.

일단 계정은 등록이 되었다.

이걸 사용하려면 프로젝트를 생성할때 계정 정보를 넣어 줘야 한다.


일단 샘플용 프로젝트를 하나 생성.


테스트용이니 그냥 싱글 어플리케이션으로 하나 만들면...


이런 프로젝트 정보팡이 뜰텐데, 대충 이정도 정보가 있을 것이다. 여기서 중요한 것은 "Team" 과 "Bundle identifier".


Apple ID 를 등록해 놓았으니 Team 에서 선택할 수 있다.
그리고, "Organization Identifier" 를 기록하면 자동으로 "Bundle Indentifier" 가 생성되니 잘 기억하고 있어야 한다. 만약 Xamarin 에서 프로젝트를 생성해서 iPhone 으로 앱을 배포하려면 그 아이디로 배포해야 한다. (애초에 같은 ID 가 되게 만들거나, 아니면 어느한쪽을 수정해서 배포해야 한다.)


그럼 대충 이런 식으로 프로젝트가 생성된다.
이 상태에서 프로젝트를 빌드하고 실행하면 iPhone 으로 앱이 설치가 된다.

이제 바로 실행을 해보면 된다.



만약 "Development cannot be enaabled while your device is locked." 이라는 에러가 난다면 장치가 현재 잠금 상태가 되어 있어서 실행이 안되는 것이니, 잠금상태를 풀어 주면 된다.

그러면 일단 배포가 되는데, 아마도 배포는 되어도 실제로 실행 되지는 않을 것이다.


처음으로 실행해 보면 거의 당연하다시피 이런 에러가 뜨는데, 이건 iPhone 에서 설치 허용을 해줘야 설치가 된다는 뜻이다.



iPhone 에서 "설정 > 일반" 으로 이동.


여기서 "기기관리" 로 이동해보면...


설치를 시도한 "개발자 앱" 이 나와 있을 것이다. 이걸 선택하면...


뭔가 구구절절하게 말이 많은데, 그냥 이 앱을 진짜로 믿어도 되는 앱인지 확인해 달라는 얘기다. 그러니, 저기의 "확인완료" 를 클릭해주면 간단히 인증된다.


여기서 "신뢰" 를 선택하면 이제 앱을 실행 할수 있게 된다.


그럼 이렇게 테스트용 앱이 정상적으로 설치및 실행이 된다.