하루 두개씩 올리던 글을 잠시 멈추고 잘 정리 되어진 🔥추천 iOS면접 질문 총 정리 을 참고해서 공부해야겠다.
Cocoa | Cocoa Touch |
---|---|
1. OS X용 애플리케이션 개발 환경 | 1. iOS용 애플리케이션 개발 환경 |
2. Foundation 및 AppKit 프레임워크 포함 | 2. Foundation 및 UIKit 프레임워크 포함 |
3. Objective-C 런타임을 기반으로 하고 루트 클래스에서 상속되는 모든 클래스/객체를 참조하는 데 사용된다. | 3. 프로그래밍 방식의 인터페이스를 사용하여 애플리케이션 개발을 참조하는 데 사용된다. |
iOS는 SBJson 프레임워크를 지원합니다.
[App ID]는 단일 개발 팀에서 하나 이상의 앱을 식별하는 데 사용되는 두 부분으로 구성된 문자열이다. 앱 Group ID라고 생각하면 된다. 이 AppID는 한번 등록하면 삭제, 리네임, 수정 절대 불가능하다. 한번 등록하면 본인의 계정에서 평생 봐야 한다. 문자열은 팀 ID와 번들 ID 검색 문자열로 구성되며 두 부분을 구분하는 마침표(.)가 있다. 팀 ID는 Apple에서 제공하며 특정 개발 팀에 고유한 반면 번들 ID 검색 문자열은 단일 앱의 번들 ID 또는 앱 그룹의 번들 ID 집합과 일치하도록 개발자에 의해 제공된다.
AppID에서는 번들Seed ID + 번들ID
예) BAM91AC832.kr.co.mysite.*
1) prefix : 예) BAM91AC832 / uniqueness를 만들기위해 프로비저닝 포털에서 생성해준 것 이다.
이것은 번들 Seed ID라고 부른다.
2) body : 예) kr.co.mysite / 이게 젤 중요합니다. 이게 일종의 Group Id이다.
3) suffix : 여기서는 * 로 지정하고 나중에 각 앱의 Project Name으로 대체한다.
번들 ID는 각 앱을 정의하며 Xcode로 지정된다. 단일 Xcode 프로젝트는 여러 대상을 가질 수 있으므로 여러 앱을 출력할 수 있다. 일반적인 사용 사례는 lite/free 버전과 pro/full 버전을 모두 갖거나 여러 가지 방법으로 브랜드가 지정된 앱이다.
예) kr.co.mysite.myApp1
1) prefix : 예) BAM91AC832 / 이게 사라진다.
2) body : 예) kr.co.mysite / 이것 그대로 유지된다.
3) suffix : * ==> Project Name 으로 지정한다.
iOS에서 동시성을 달성하는 세 가지 방법은 다음과 같다.
다양한 iOS 애플리케이션 state는:
UIKit 프레임워크, UIKit 프레임워크는 iOS용 애플리케이션의 사용자 인터페이스를 개발하는 데 사용됩니다. 이벤트 처리, 드로잉 모델, 창, 보기 및 터치 스크린 인터페이스용으로 특별히 설계된 컨트롤을 제공한다.
UIKit 클래스는 애플리케이션의 메인 스레드에서만 사용해야 한다.
UI 자동화 API, UI 자동화 API는 테스트 절차를 자동화하는 데 사용됩니다. UI 자동화 API에 작성된 JavaScript 테스트 스크립트는 애플리케이션과의 사용자 상호 작용을 시뮬레이션하고 호스트 컴퓨터에 로그 정보를 반환한다.
다음과 같은 경우 앱이 ‘실행되지 않음’ 상태라고 한다. – 실행되지 않을 때. – 실행 중 시스템에 의해 종료된 경우.
앱은 포그라운드에서 실행 중이고 이벤트를 수신할 때 활성 상태에 있다고 합니다.
앱은 실행되기 전에 not running state라고 합니다.
잠시 inactive state를 전환한 후 실행 시 active 또는 background state로 이동한다.
앱이 일시 중단되는 도중 잠시 백그라운드 상태가 된다.
Objective-C는 OS X 및 iOS용 소프트웨어를 작성하는 데 사용하는 기본 프로그래밍 언어입니다. C 프로그래밍 언어의 상위 집합이며 개체 지향 기능과 동적 런타임을 제공한다. Objective-C는 C의 구문, 기본 유형 및 흐름 제어 문을 상속하고 클래스 및 메서드를 정의하기 위한 구문을 추가한다. 또한 객체 그래프 관리 및 객체 리터럴에 대한 언어 수준 지원을 추가하는 동시에 동적 타이핑 및 바인딩을 제공하여 런타임까지 많은 책임을 연기한다.
Swift는 iOS, OS X, watchOS 및 tvOS 앱을 위한 새로운 프로그래밍 언어로 C 호환성의 제약 없이 C 및 Objective-C의 장점을 최대한 활용한다. Swift는 안전한 프로그래밍 패턴을 채택하고 최신 기능을 추가하여 프로그래밍을 더 쉽고 유연하고 재미있게 만든다. Swift는 Objective-C 개발자에게 친숙하고 새로운 프로그래머에게 친숙하다.
SpriteKit은 애니메이션 2D 개체를 쉽게 개발할 수 있는 프레임워크이다.
SceneKit은 3D 그래픽 렌더링을 지원하는 OS X에서 상속된 프레임워크이다.
SpriteKit, SceneKit 및 Metal은 iOS 기기의 강력한 GPU가 제공할 수 있는 것을 재정의하는 차세대 모바일 게임을 구동할 것으로 예상된다.
iBeacon.com은 iBeacon을 모바일 앱이 물리적 세계에서 비콘의 신호를 듣고 그에 따라 반응할 수 있도록 하는 Apple의 기술 표준으로 정의한다. iBeacon 기술을 통해 모바일 앱은 마이크로 로컬 규모에서 위치를 이해하고 위치를 기반으로 사용자에게 하이퍼 컨텍스트 콘텐츠를 제공할 수 있다. 기본 통신 기술은 Bluetooth Low Energy이다.
layer 개체는 시각적 콘텐츠를 나타내는 데이터 개체이며 뷰에서 콘텐츠를 렌더링하는 데 사용됩니다. 사용자 지정 계층 개체를 인터페이스에 추가하여 복잡한 애니메이션 및 기타 유형의 정교한 시각적 효과를 구현할 수도 있습니다.
UIButton은 UIControl에서 상속하고, UIControl은 UIView에서 상속하며, UIView는 UIResponder에서 상속하고, UIResponder는 루트 클래스 NSObject에서 상속합니다.