검수요청.png검수요청.png

엑스코드

위키원
piao2000 (토론 | 기여)님의 2021년 6월 28일 (월) 15:37 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색
엑스코드(Xcode)
엑스코드(Xcode)
애플(Apple)

엑스코드(Xcode)는 애플의 macOS, iOS, watchOStvOS 개발 전용 통합개발환경(IDE)이다.

개요[편집]

엑스코드는 2020년 10월 22일 기준 최신 버전은 12.1이다. 2003년에 출시되어, 17년의 역사를 가지고 있는 장수 통합개발환경이다. 만약 그 전신인 프로젝트 빌더까지 연대기에 넣는다면 1988년 출시로, 무려 29년의 역사를 자랑하는 통합개발환경이 된다. 그리고 엑스코드보다 애플 제품에 깊숙이 관여하는 통합개발환경은 존재하지 않는다. 오직 엑스코드만이 애플의 코콬아 프레임워크에 직접 접근할 수 있기 때문에, 젯브레인즈의 앱 코드나 안드로이드 스튜디오, 또는 MS의 비주얼 스튜디오 for Mac도 iOS/macOS용 소프트웨어를 최종 컴파일하려면 엑스코드가 설치되어 있어야 한다. 게임메이커와 유니티도 iOS 컴파일 하려면 이게 필요하다. 심지어는 크로스플랫폼인 리액트 네이티브의 iOS 앱을 컴파일 할 때도 엑스코드가 필요하다. 또한, 엑스코드는 애플 LLVM/클랭을 주 컴파일러로 삼고 LLDB를 주 디버거로 이용한다. 공식적으로 지원하는 언어는 C, C++, Objective-C, 스위프트, 애플스크립트, 자바, 파이썬, 루비이며, 제3자 도구를 이용하면 파스칼, 에이다, C#, , D도 사용 가능하다. 엑스코드에 내장된 인터페이스 빌더는 OS X에서 코코아 프레임워크를 가장 목적에 맞게, 그리고 가장 아름답게 디자인할 수 있는 유일한 도구로, QtSDL, wxWidgets, GTK+ 같은 크로스 플랫폼 UI 툴킷이 그 태생상 절대 따라갈 수 없는 디자인을 가능케 한다. 초창기의 엑스코드는 버전 관리를 지원하지 않거나 서브버전(SVN)만 맛보기 형식으로 지원하는 수준이었지만 엑스코드 4의 출시와 함께 을 내장하여 강력한 소스 코드 버전 관리가 가능하도록 하였다. 간혹 애플의 개발자 프로그램에 유료로 등록해야만 엑스코드를 사용할 수 있다고 잘못 알고 있기도 한데, 엑스코드는 개발자 등록이 필요 없는 무료이다. 다만, 그래도 애플의 개발자 프로그램이 나중에는 필요하게 되는 일도 있는데, 바로 앱 스토어를 이용할 때이다. 앱 스토어에 앱을 올리고자 한다면 유료 개발자 등록이 되어야하기 때문이다. 또한 실물 단말기를 활용할 때도 유료 개발자 인증이 필요하다. 엑스코드 7로 업데이트 되면서 단말기에 자신의 앱을 개발자 프로그램 없이 설치할 수 있게 되었다. 엑스코드 고스트 사건이 있었는데, 이후 엑스코드를 공식 경로가 아닌 토렌트 등 웹하드로 다운받아서 사용하는 행위는 자제되었다.[1]

역사[편집]

엑스코드 1

2003년 10월 24일 출시된 버전으로, 사실상 프로젝트 빌더의 개명 버전에 가깝다. 다만, 넘어오면서 UI 변경, 코드 센싱(소스 코드를 인덱스하여 자동 완성을 제공하는 기능) 추가 등이 있었다. 별로 특별한 것은 없었던 버전이다.

엑스코드 2

2005년 4월 29일 출시된 버전으로, OS X Tiger의 출시와 함께 공개되었다. 쿼츠컴포저라는 쿼츠익스트림용 시각화 프로그래밍 도구를 탑재했다. 그리고 이 때부터 애플의 개발자 문서를 통합개발환경 자체에서 빠르게 검색할 수 있도록 하였다. 추후 타이거의 인텔 칩 이전에 의해 유니버셜 바이너리를 생성할 수 있는 기능이 추가되었다.

엑스코드 3

2007년 10월 26일 출시된 버전으로, OS X Leopard의 출시와 함께 공개되었다. 여러 가지 명령줄 도구의 추가와 함께 Objective-C 2.0 지원이 추가되었으며 프로젝트 스냅샷 기능과 서브버전(SVN) 지원으로 기초적인 소스코드 버전관리가 가능해졌다. 또, 운영체제의 전반적인 64비트 전환과 함께 64비트 컴파일이 가능해졌고, 아이폰의 공개에 따라 아이폰 OS용 앱을 빌드할 수 있게 되었다. 이 때 LLVM GCC 컴파일러가 스리슬쩍 더해졌다.

엑스코드 4

2011년 3월 9일 출시된 버전으로, 엑스코드의 화려한 변신이 행해진 첫 버전이다. 인터페이스 빌더가 엑스코드 내부에 모듈 형태로 탑재됨에 따라 이제 개발 시에는 엑스코드 하나면 켜놓으면 된다. 초기 버전은 맥 앱 스토어에서 $4.99에 판매되었으나, 항의가 거세지자 스리슬쩍 무료로 전환했다. 이 버전부터 파워PC 바이너리는 일체 지원되지 않는다. 엑스코드 4.1과 함께 Objective-C에서 객체의 레퍼런스 카운팅을 컴파일러가 스스로 행하는 ARC가 추가되었다. 엑스코드 4.2에서는 엑스코드 자체가 완벽하게 단일 애플리케이션으로 패키지되었다. 이전까지는 맥 앱 스토어에서 내려받는 프로그램이 엑스코드 설치 프로그램이었으나, 이제는 엑스코드 자체를 내려받는다. 사용자는 내려받은 후 실행하면 끝. 처음 내려받았을 때나 업데이트 시 한정으로 내부 프레임워크를 시스템에 설치하는 짧은 절차를 거친다.

엑스코드 5

2013년 9월 18일에 정식 출시된 버전으로, OS X Mountain Lion과 iOS 7의 소프트웨어 개발 키트가 포함되었고, LLVM/Clang 컴파일러가 애플 A7 AP를 위한 64-bit 앱을 컴파일할 수 있게 되었다. iOS 7이 기존과 UI면에서 상당히 달라진 만큼 기존의 UI와 iOS 7에 맞춘 UI를 동시에 개발하여 적용하기 쉽도록 되어있다. 원 클릭으로 아이클라우드나 게임센터 서비스를 적용시킬 수 있게 되었다.

엑스코드 6

WWDC 2014 때 공식적으로 발표된 엑스코드로, 최초로 스와이프를 지원한다. 스와이프가 궁금하다면 해당문서 참조. OS X Yosemite 에서만 사용가능케 했다. 그리고 새로운 플레이그라운드 기능을 추가했는데, 이건 코드를 직접 컴파일하거나 실행하지 않고도 결과물을 실시간으로 확인할 수 있게 해 준다. 엑스코드 6.1 버전부터 Mac용 앱을 스와이프로 만들 수 있게 되었다.

엑스코드 7

2015년 9월 17일 정식 출시된 버전으로, iOS 9 소프트웨어 업테이트와 동시에 앱 스토어에서 발표되었다. 스와이프 2와 iOS 9에 대응하는 소프트웨어 개발 키트, watchOS 2, OS X 10.11 El Capitan 및 tvOS 의 개발 코드가 추가되었다. 이 버전부터는 개발자 프로그램 ($99) 등록을 하지 않아도 iOS 앱을 자신의 기기에서 실행해 볼 수 있다. 물론 앱 스토어에 앱을 올리는것은 개발자 프로그램을 필요로 한다. 엑스코드 7.1 은 iOS 9.1, watchOS 2, tvOS 및 OS X 에 사용할 수 있는 스와이프 2.1 소프트웨어 개발 키트가 추가되었다.

엑스코드 8

2016년 9월 14일 정식 출시된 버전으로, 스와이프 3, iOS 10 소프트웨어 개발 키트, watchOS 3, tvOS 10 그리고 macOS Sierra의 애플리케이션 개발을 지원한다. 추가된 사항으로는 디버그 메모리 시각화 기능, 인터펭치스 빌더 개선 및 편집기 확장 대응, iOS 10의 시리 확장, 아이메세지 앱, 메세지를 위한 스티커팩 빌드, 디바이스 셋업, 코드 센싱 간소화, 기타 개발용 테마 및 폰트 추가라거나 등의 개발 편의사항이 상당한 부분 증대되었다.

엑스코드 9

2017년 9월 19일 정식출시된 버전으로, 스와이프 4.0을 정식 지원한다. 리팩토링 기능이 추가되었다. 버그가 매우 많은데 예를들면 터치 바 커스텀이 안된다던가 플레이그라운드에서 코드 실행이 안되는경우가 있다.

엑스코드 10

2018년 9월 12일에 iOS / tvOS 12, macOS Mojave 10.14, 그리고 watchOS 5 업데이트와 함께 출시되었다. 제일 큰 변경점으로는 macOS Mojave 때 추가된 다크 모드를 지원한다.

엑스코드 10.2

2019년 3월 26일에 iOS / tvOS 12.2, macOS Mojave 10.14.4, 그리고 watchOS 5.2 업데이트와 함께 업데이트되었다. 스와이프 5를 지원한다. 애플은 이 언어를 완벽 대응하면 앱 용량을 획기적으로 줄이고 앱 실행 성능을 대폭 향상 시킬 수 있다고 주장한다.

엑스코드 11

엑스코드 11은 2019년 6월 9일 WWDC 2019에서 발표되었다. 스와이프 5.1, iOS 13, tvOS 13, watchOS 6, macOS 10.15 소프트웨어 개발 키트에 관한 지원이 추가되었다. 애플 계열 프로그램 UI 디자인을 위한 새로운 프레임워크인 스와이프UI도 추가되었다. 그 외에도 부가적인 변경 사항으로는 iPad용으로 만들어진 프로그램을 Mac 컴퓨터에 손쉽게 가져올 수 있는 기능의 추가, iOS 13의 다크 모드 지원 등이 있다.

엑스코드 12

애플 실리콘 지원을 추가하면서 용량이 매우 커졌다.[1]

특징[편집]

엑스코드는 주로 프로젝트 관리, 코드 편집, 디버깅을위한 소프트웨어이다. 기타 클래스 브라우저나 문서 브라우저등이 통합되어 있다. 델파이와 비주얼 베이직과 달리 단독으로는 RAD적인 도구는 아니지만, 인터페이스 빌더와 잘 연계 되어 있으며, 간단한 텍스트 편집기등이라면 코드도 작성하지 않고 개발할 수있다. distcc 분산 빌드를 지원하고 봉주르에의한 네트워크 검색 및 구조를 실시한다. 또한 OSX 10.4에 제공된 Version 2.0은 코어 데이터 / 웹 오브젝트에서 사용하는 UML에 준한 모델 편집기가 통합 되었다. 파일 관리는 회사의 iTunes등에 준한 형식으로 전반적으로 잘 정리되어 있어 비교적 프로그래머 치우치지 않는 도구 이다. 기타 특징으로 제로링크를 들 수있다. 이것은 컴파일후 링크 과정을 런타임까지 지연하여 빠른 소프트웨어 를 다시 시작을 행하는 것으로, 델파이 및 C# 정도는 아니지만, 상당한 속도로 소프트웨어를 재구성 할 수있다.[2]

기능[편집]

  • 소스 편집기 : 코드와 관련된 경고, 오류 및 기타 상황에 맞는 정보를 표시하는 메시지 풍선과 고급 코드 완성, 코드 폴딩, 구문 강조 기능을 갖춘 전문가용 편집기를 사용하여 코드를 작성할 수 있다.
  • 보조 편집기 : 보조 단추는 편집기를 둘로 나누어 현재 편집 중인 코드를 기준으로 가장 유용한 파일을 자동으로 표시하는 보조 패널을 생성한다. 이 패널에는 헤더, 슈퍼클래스, 호출자, 피호출자 또는 기타 유용한 파일이 표시된다.
  • 버전 편집기 : 엑스코드의 버전 편집기에는 원인을 쉽게 찾을 수 있도록 커밋의 실행 일정이 표시되며 서브버전(Subversion) 및 깃 소스 컨트롤(Git Source Control)(SCM) 시스템을 자유자재로 활용하여 그래픽으로 과거 시점으로 돌아가 소스 파일을 비교한다.
  • 내장된 인터페이스 빌더 : 코드를 작성하거나 프로토타입을 만들 필요 없이 단 몇 분 만에 사용자 인터페이스를 디자인하여 테스트한 다음 엑스코드 편집기 내에 있는 소스에 그래픽으로 인터페이스를 연결할 수 있다.
  • 시뮬레이터 : iOS SDK를 사용하는 엑스코드는 맥 기반 시뮬레이터를 통해 코코아 터치(Cocoa Touch) 앱을 빌드, 설치, 실행 및 디버깅하여 개발 작업 흐름을 원활하게 진행할 수 있다.
  • 통합된 빌드 시스템 : 가장 복잡한 빌드를 처리하고 멀티코어 맥의 성능을 극대화하며 아이패드 및 아이폰 앱을 자동으로 서명 및 권한 설정하여 장비에 설치할 수 있다.
  • 컴파일러 : C, C++ 및 오브젝티브-C를 위한 강력한 오픈 소스 LLVM 컴파일러는 엑스코드에 내장되어 있으며 터미널에서 사용할 수 있다. 컴파일러를 사용하면 코드를 신속하게 컴파일할 수 있을 뿐만 아니라 아이폰, 아이패드 및 맥의 CPU용으로 특별히 조정된 매우 빠른 앱을 제작할 수 있도록 코드가 애플에 의해 최적화된다.
  • 그래픽 디버거 : 앱을 엑스코드 편집기에서 바로 디버깅할 수 있다. 원하는 변수 위에 마우스를 둔 다음 해당 콘텐츠를 상세히 살펴보고 퀵룩(Quick Look, 훑어보기)을 사용하여 포함된 데이터를 확인하거나 마우스 오른쪽 단추를 클릭하여 변수를 조사 목록에 추가할 수 있다.
  • 지속적인 통합 : 맥 서버의 기능인 엑스코드 서버는 엑스코드 프로젝트를 지속적으로 빌드, 분석, 테스트 및 아카이브하는 서버 측 봇(Bot)을 제어한다. 엑스코드 IDE는 해당 봇을 구성하고 매일 밤 이루어지는 빌드 및 테스트 결과를 분석하며 빌드를 망가뜨린 체크인이 무엇인지 추적할 수 있다.
  • 자산 카탈로그 : 엑스코드의 자산 카탈로그 편집기는 앱의 이미지를 동일한 자산에 대한 다양한 해상도로 그룹화하여 관리한다. 빌드 시 엑스코드는 자산 카탈로그를 최종 배포에 가장 효율적인 번들로 컴파일한다.
  • 빠르게 열기(Open Quickly) : command+shift+O 키를 누르기만 하면 기본 편집기를 사용하는 작업 공간에서 원하는 파일을 빠르게 열 수 있다. 보조 편집기에서 열 파일을 선택할 때에는 option 키를 길게 누르면 된다. 빠르게 열기는 작업이 키보드 중심으로 진행될 때 필수적인 도구이다.
  • 오픈GL 프레임 캡처 : 단추 하나만 누르면 현재 진행 중인 iOS 장비의 오픈GL 프레임이 전체적으로 어떻게 표시되는지 캡처할 수 있다. 엑스코드는 셰이더 정보를 표시하며 해당 프레임이 엑스코드 디버거에서 어떻게 조합되었는지를 시각적으로 구성할 수 있다.
  • 전체 문서 : 엑스코드 내에서 검색하면 문서 뷰어가 맥 개발자 또는 애플 디벨로퍼(Apple Developer 웹) 사이트에서 검색 항목을 찾는다.
  • 실시간 문제(Live Issues) : 워드 프로세서가 철자 오류를 강조 표시하는 것과 마찬가지로 실시간 문제는 빌드를 클릭하기도 전에 일반적인 코딩 실수를 강조 표시한다.
  • 수정(Fix-it) : 엑스코드는 오류를 보고하는 데 그치지 않는다. 코딩 실수를 범하면 엑스코드가 곧바로 경고 메시지를 표시한다. 이때 키보드 단축키 하나로 즉시 문제를 수정할 수 있어 코딩을 계속할 수 있다.
  • 빠른 도움말(Quick Help) : 프로그래밍하는 동안 자신의 코드에 대해 기록한 주석이 포함된 축약된 API 문서가 표시된다. 코드가 완료되는 동안 간략한 개요가 유틸리티 영역에 사용 가능한 링크 및 참조 자료와 함께 표시된다.
  • XCTest 프레임워크 : XCTest API를 활용하면 앱 기능이 맥, 아이패드, 아이폰 또는 시뮬레이터에서 실행되는지 여부를 실험하는 단위 테스트를 손쉽게 구축할 수 있다.
  • 정적 분석 : 내장된 정적 분석기는 수천 개의 가능한 코드 경로를 단 몇 초 만에 시험하여 앱을 실행하기도 전에 코드에 있는 버그를 찾아낸다. 개발자는 가려져 있거나 복제가 거의 불가능한 잠재적 버그에 대한 보고서를 얻게 된다.
  • 데이터 기록 : 어떤 앱을 분석할지, 어떤 데이터 유형을 수집할지 인스트루먼트(Instruments)에 알려 줄 수 있다. 빨간색 큰 단추를 클릭하기만 하면 데이터가 수집되고 추가 분석을 위해 저장된다.
  • 육안 비교 : 시간에 따라 데이터가 기록되어 표시되므로 여러 번의 실행을 통해 수집된 동일한 데이터나 서로 다른 수집된 데이터 유형 간의 관계를 파악하는 것이 쉬워진다.
  • 드릴다운 : 그래프에서 데이터 스파이크를 점검하고 당시 어떤 코드가 실행되고 있었는지 파악한 다음 엑스코드로 이동하여 쉽게 문제를 수정할 수 있다.
  • 도구 라이브러리 : 하위 수준의 CPU, 네트워크 또는 파일 작업부터 고급 그래픽 및 사용자 이벤트 도구까지 라이브러리에서 번들로 제공된 도구를 선택할 수 있다.
  • 좀비 탐지 : 앱이 더 이상 사용할 수 없는 메모리에 액세스하려 하면, 찾기 힘든 오류와 충돌을 인스트루먼트 내에서 잡아낼 수 있다.
  • 소스 보기 : 데이터 포인트를 드릴다운하여 CPU를 가장 많이 소모하는 메서드를 찾아내어 정렬하고 인스트루먼트 사용자 인터페이스 내에서 바로 코드를 확인하여 문제를 정확하게 찾아낼 수 있다.
  • 낮은 오버헤드 샘플링 : 키 하나만을 눌러 성능 데이터를 샘플링할 수 있다. 이 샘플링 작업은 낮은 오버헤드로 충실도가 높은 정보를 수집한다.
  • 인스트루먼트 사용자 설정 : DTrace와 Instruments 사용자 설정 빌더를 사용하여 자신만의 인스트루먼트를 만들 수 있다.
  • 시스템 추적 : 이 도구는 리소스를 거의 사용하지 않는다. 인스트루먼트에서 시스템의 모든 프로세스에 대한 정보를 기록하여 프로세스 상호 작용 시 발생하는 성능 병목 문제를 표시한다.
  • 명령어 라인 도구 : 맥 SDK, 헤더와 애플 LLVM 컴파일러 및 메이크(Make)와 같은 빌드 도구를 다운로드할 수 있다. 이러한 도구를 사용하면 오픈 소스 소프트웨어를 설치하거나 터미널에서 유닉스 개발 작업을 수행하는 것이 쉬워진다. 맥 OS를 사용하면 처음 소프트웨어를 빌드하려고 할 때 이러한 도구를 자동으로 다운로드할 수 있다. 또한 다운로드 페이지에서도 이러한 도구를 다운로드할 수 있다.
  • 스크립트 언어 : 맥 OS는 애플스크립트, , 파이썬 및 루비가 이미 설치된 상태로 제공된다. 맥 OS는 유닉스를 기반으로 구축되어 있으므로 엑스코드 또는 맥 OS와 함께 제공되는 명령어 라인 개발자 도구를 사용하여 인기 있는 오픈 소스 언어를 자신만의 버전으로 손쉽게 빌드할 수 있다.
  • 에플 이벤트 브릿지(Apple Event Bridge) : 애플스크립트(AppleScript)와 오토메이터(Automator)의 강점은 애플 이벤트(Apple Event) 엔진을 기반으로 하여 맥 OS에서 작업을 손쉽게 자동화할 수 있다는 것이다. 이 브리지를 통해 애플스크립트와 동일한 메시지 전송 아키텍처를 사용하여 오브젝티브-C, 루비 및 파이썬 등의 추가 언어에서 앱에 명령을 내리고 쿼리를 보낼 수 있다.
  • 오디오 도구 : AU Lab 도구를 사용하여 오디오 스트림을 믹싱하고 조작할 수 있다.
  • 터미널 2(Terminal 2) : 터미널 2에서는 유니코드 지원 및 탭, 색상을 통해 유닉스 셸에 액세스할 수 있다.
  • 소스제어 : 엑스코드 통합개발환경은 통합개발환경 내에서 깃(Git) 및 서브버전(Subversion) 시스템을 모두 지원하며 명령어 라인에서 이를 사용 가능하도록 해 준다.
  • 유닉스 도구 : 유닉스 도구에는 make, awk, sed, ssh, tar 및 zip과 같은 가장 많이 사용되는 모든 명령어 라인 도구가 포함된다.
  • 편집기 : 맥 OS의 편집기에는 텍스트에디트, xed(엑스코드 편집기), vim 및 emacs가 포함된다.
  • 파일머지(FileMerge) : 모든 텍스트 문서를 비교하고 차이점을 찾아내며 병합할 수 있다.[3]

사건[편집]

엑스코드 고스트 사건

2015년 중국에서 최근 애플 iOS 개발 툴 ‘엑스코드(Xcode)’가 악성코드에 감염되고, 악성코드에 감염된 ‘엑스코드’로 개발된 아이폰(iPhone)·아이패드(iPad)용 애플리케이션(앱)이 사용자와 기기 정보를 빼내는 것으로 밝혀져 큰 사회적 이슈로 떠올랐었다. 중국에서 2015년 9월 21일‘엑스코드고스트(XCodeGhost)’로 불리는 이 악성코드에 감염된 아이폰·아이패드용 앱은 360여 종에 달하는 것으로 알려졌다. 특히, 중국에서 이 악성코드에 감염된 앱을 애플의 앱 스토어(App Store)에서 내려 받아 정보 유출 위험에 노출된 애플 기기 사용자는 1억 명에 이를 것으로 추산되었다. 중국에서 악성코드 감염 피해를 입은 애플 iOS용 앱과 사용자 수는 이번이 역대 최대 규모다. 이전에도 국내외에서 여러 차례 애플 iOS 관련 정보 유출 등 보안문제가 발생한 적이 있었지만, 이번처럼 중국에서 많은 규모의 애플 iOS용 앱과 기기 사용자들이 피해를 입은 것은 처음이어서 사회 각계의 이목이 쏠렸다. 악성코드 엑스코드고스트에 감염된 것으로 밝혀진 이유는 중국내 iOS용 앱들은 비공식 경로를 통해 다운로드 된 엑스코드로 만들어졌다는 게 중국 보안업계의 분석이다. 실제로 중국내 많은 iOS 앱 개발자들은 주로 애플의 공식 앱 스토어가 아닌 다른 비공식 경로를 통해 엑스코드를 내려 받아 쓰고 있다고 중국 보안 전문가들과 매체들은 지적했다. 애플 엑스코드의 공식 다운로드 경로는 Mac 앱 스토어이고, 공식 버전 엑스코드는 무료다. 그런데 중국내 프로그래머들은 주로 애플의 앱 스토어가 아닌 다른 곳에서 엑스코드를 내려 받아 썼던게 문제가 된 것이다. 그 사건으로 악성코드 엑스코드고스트에 감염된 iOS용 앱들은 자동으로 기기와 사용자 정보를 수집해 원격 서버 ‘init.icloud-analysis.com’로 보내는 것으로 드러났다. 유출 정보에는 스마트폰 모델 번호, 시스템 버전, 앱 명칭, 앱 사용 시간, 시스템 언어 등이 포함된 것으로 알려졌다.‘엑스코드고스트 악성코드 사건’이 보안 분야는 물론 매체에서 며칠째 주목을 받으면서 사회적 이슈가 되자, 자칭 ‘엑스코드고스트’ 개발자가 나타나 처음 입을 열었다. 그는 “이른바 엑스코드고스트는 iOS 개발자의 의외적인 발견”이라며 “엑스코드 컴파일러 구성 파일(configuration file)을 수정하면 지정한 코드 파일을 추가할 수 있으므로, 코드를 써서 테스트를 해 봤고, 내 온라인 사이트에 업로드 했다”며 사건의 자초지종을 설명했다. 그는 코드 중에 획득한 모든 데이터는 실제로 기본적인 앱 정보로, 앱 명칭, 앱 버전 번호, 시스템 버전 번호, 언어, 국가명, 개발자 부호, 앱 설치 시간, 기기 명칭, 기기 유형 등이라고 말했다. 그 밖의 어떠한 다른 데이터도 얻지 않았다고 그는 주장했다. 또한, 열흘 전에 스스로 서버를 닫았고, 모든 데이터를 삭제했으므로 어떤 사람에게든 아무런 영향도 끼치지 않을 것이라고 주장했다. 이후 엑스코드를 공식 경로가 아닌 토렌트 등 웹하드로 다운받아서 사용하는 행위는 자제되었다.[4]

각주[편집]

  1. 1.0 1.1 Xcode〉, 《나무위키》, 2021-02-12
  2. 샤인오버, 〈엑스코드(Xcode)에 관하여〉, 《티스토리》, 2013-11-24
  3. 애플 디벨로퍼 공식 홈페이지 - https://developer.apple.com/kr/
  4. 권준, 〈中 엑스코드고스트 사태 일파만파...애플 사용자 1억명 비상〉, 《보안뉴스》, 2015-09-22

참고자료[편집]

같이보기[편집]


  검수요청.png검수요청.png 이 엑스코드 문서는 소프트웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.