🍏(114)
-
[iOS] 앱 심사 지침
보호되어 있는 글입니다.
2024.05.03 -
[Objective-C] 런타임에서 동작하는 과정.
Objective-C는 동적 언어의 특성을 가지고 있어 런타임 시에 많은 동작들이 수행됩니다. 이러한 동적 특성은 런타임 시 객체의 타입을 확인하거나 변경할 수 있게 하며, 메소드를 동적으로 호출하거나 교체하는 것도 가능하게 합니다.Objective-C의 런타임 시스템은 아래와 같은 과정을 거치게됩니다.1. 클래스와 객체의 동적 생성Objective-C에서는 런타임 시 클래스를 생성하고 수정할 수 있습니다. 예를 들어, `NSClassFromString()` 함수를 사용하여 문자열 이름으로 클래스의 인스턴스를 생성할 수 있습니다. 또한, 클래스에 새로운 메소드를 추가하거나 기존 메소드를 교체하는 것도 가능합니다.2. 메소드 호출의 동적 결정Objective-C 메소드 호출은 컴파일 타임이 아닌 런타임에 ..
2024.05.02 -
[MacOS, iOS] Cocoa Fundamentals Guide / 코코아 기본 사항
코코아란 무엇인가요?Cocoa는 OS X 운영 체제와 iOS를 위한 애플리케이션 환경입니다.iOS는 iPhone, iPad, iPod touch와 같은 멀티터치 기기에서 사용되는 운영 체제를 뜻합니다.객체 지향 소프트웨어 라이브러리, 런타임 시스템 및 통합 개발 환경으로 구성되어 있습니다.이 글에서는 이 정의를 확장하여 두 플랫폼에서 Cocoa의 목적, 기능 및 구성 요소에 대해 설명합니다.Cocoa 환경Cocoa는 OS X 및 iOS에서 실행되는 애플리케이션을 위한 런타임 환경을 제공하는 객체 지향 프레임워크의 집합입니다. Cocoa는 OS X을 위한 탁월한 응용 프로그램 환경이며 iOS를 위한 유일한 응용 프로그램 환경입니다. (Carbon은 OS X의 대체 환경이지만 기존 OS X 코드 기반을 지..
2024.05.01 -
[Tuist+Fastlane+GithubAction] App 배포 CI/CD 과정
이 글은 Tuist와 Fastlane, Github Action을 통하여 앱을 배포한 과정을 큰 맥락으로 공유하고 있습니다. 😊0. 버전tuist@3.36.2fastlane@2.220.0.ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin24]해당 버전을 쓰고 있습니다.1. Tuist 설치.curl -Ls https://install.tuist.io|bash2. Fastlane 설치 brew install fastlane3. Ruby 설치4. .cer, .p12, mobileprovision 발급 과 master.key를 이용한 tuist singing 아래 블로그 참조, 도움이 너무 많이 됐습니다. Tuist에서 CI/CD 구축하..
2024.04.28 -
[Swift] @_exported
@_exported import 키워드는 Swift에서 내부 모듈에서 사용된 외부 모듈을, 해당 내부 모듈을 사용하는 다른 모듈에서 별도의 import 없이 사용할 수 있게 해주는 기능입니다. 이는 모듈 간의 의존성을 관리할 때 편리함을 제공하지만, Swift 공식 문서에는 아직 내부적인 사용(_로 시작)을 의미하는 비공개 API로 분류되어 있으며, 향후 변경될 가능성이 있습니다. 사용 이유 간결성: 상위 모듈에서 하위 모듈의 기능이나 타입을 사용할 때, 모든 곳에 동일한 import 구문을 반복해서 작성할 필요가 없어 코드가 더 간결해집니다. 편의성: 특정 라이브러리나 프레임워크를 내부적으로 사용하는 모듈을 만들 때, 이 모듈을 사용하는 사용자가 내부적으로 사용된 라이브러리나 프레임워크에 대해 알 필요..
2024.04.01