iOS THProgressView 사용자 정의 진행률 표시기 구현
THProgressView는 iOS용 Twitter 애플리케이션의 시각적인 진행률 바를 모방하여 설계된 UIView 서브클래스입니다. 이 컴포넌트는 iOS 앱 내에서 특정 작업의 진행 상황을 사용자에게 직관적으로 보여주어야 할 때 활용할 수 있는 간단하면서도 효과적인 진행률 표시기 컨트롤을 제공합니다.
1. 개발 환경 설정
THProgressView는 CocoaPods를 통해 프로젝트에 쉽게 통합 ...
9월 7일 05:08에 게시됨
iPad 커스텀 분할 뷰 컨트롤러 SMTabbedSplitViewController 구현 및 문제 해결
라이브러리 개요
SMTabbedSplitViewController는 iPad 환경에 최적화된 커스텀 분할 화면 컨트롤러로, 왼쪽에 수직 탭 바를 배치하여 주요 뷰 컨트롤러 간 네비게이션을 제공합니다. 탭 바에는 화면 전환 탭과 앱 종료 같은 액션 버튼을 함께 구성할 수 있으며, 탭 바 없이도 사용 가능한 유연한 UISplitViewController 대안입니다.
본 라이브러리는 Objective-C 기반으로 ...
9월 6일 19:28에 게시됨
iOS Objective-C Runtime 의 핵심 원리와 실무 적용 방안
Runtime 시스템 개요
Objective-C 는 정적 컴파일 언어가 아닌 동적 언어로 분류됩니다. 이는 많은 결정 사항들이 컴파일 시점이 아닌 실행 시점 (Runtime) 에 이루어진다는 것을 의미합니다. 컴파일러만으로는 충분하지 않으며, 컴파일된 코드를 실제로 실행하기 위해 런타임 시스템이 필요합니다. Objective-C Runtime 은 바로 이 역할을 수행하며, Objective-C 언어 체 ...
8월 16일 01:16에 게시됨
iOS 정적 라이브러리에서 동적 라이브러리 호출하기
iOS 정적 라이브러리에서 동적 라이브러리 연동하기
iOS 개발에서 정적 라이브러리(Static Library)와 동적 라이브러리(Dynamic Library)는 코드 재사용을 위한 두 가지 주요 방법입니다. 정적 라이브러리에서 동적 라이브러리를 호출하는 방법을 익히는 것은 개발 효율성을 높이는 데 매우 중요합니다. 이 가이드에서는 이 과정을 단계별로 설명하겠습니다.
전체 과정 ...
7월 28일 15:05에 게시됨
iOS UIButton 이미지와 텍스트 위치 조정
UIButton에서 이미지와 텍스트의 상대적인 위치 및 정렬을 조정하는 방법을 알아봅니다.
1. 기본 이미지 및 텍스트 추가
기본적으로 이미지와 텍스트는 공백으로 구분되어 표시되며, 이미지가 텍스트 앞에 위치합니다.
// 버튼 생성 및 프레임 설정
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(30, 200, 300, 50)];
button.backgroundColor = [UIColo ...
7월 25일 21:21에 게시됨
TTTAttributedLabel을 활용한 iOS 리치 텍스트 렌더링 가이드: 주요 오류 해결 및 활용 팁
iOS 앱 개발에서 사용자 경험을 결정짓는 중요한 요소 중 하나는 텍스트 렌더링입니다. 기본 UILabel은 간단한 텍스트 표시에 적합하지만, 링크 삽입, 특정 단어의 스타일링, 데이터 자동 감지 등 복잡한 요구사항을 충족하기에는 부족함이 있습니다. TTTAttributedLabel은 이러한 한계를 극복하기 위해 설계된 오픈 소스 라이브러리로, UILabel과 완벽하게 호환되면서도 ...
7월 18일 16:10에 게시됨
BubbleDemo iOS 프로젝트 구조 및 설정 가이드
프로젝트 디렉토리 구성
BubbleDemo/
├── BubbleDemo.xcodeproj
├── BubbleDemo
│ ├── BubbleView.h
│ ├── BubbleView.m
│ ├── ...
├── BubbleDemoTests
│ ├── BubbleDemoTests.m
│ ├── ...
├── screenshots
│ ├── screenshot1.png
│ ├── screenshot2.png
│ ├── ...
├── .gitignore
├── LICENSE
└── README.md
주요 디렉토리 및 파일 설명
BubbleDemo.xc ...
7월 12일 05:03에 게시됨
Objective-C 런타임: 메서드 스왑 및 메시지 전달
1. 메시지 전달
Objective-C에서는 함수 호출을 "메시지 전달"이라고 표현합니다.
[object performAction];
위 코드는 object에게 performAction이라는 메시지를 보낸다고 볼 수 있습니다. 여기서 object는 메시지의 수신자(recevier)입니다.
1.1. 셀렉터(selector)
셀렉터는 메서드 이름을 고유한 식별자로 변환하는 역할을 합니다. 동일한 이름을 가진 모든 메서 ...
7월 11일 22:14에 게시됨
iOS 애플리케이션 보안 강화 기법
HTTPS 통신 구현
iOS 앱에서 네트워크 통신 시 보안을 강화하기 위해 HTTPS 프로토콜 사용은 필수적입니다. Info.plist 파일에 다음 설정을 추가하여 ATS(App Transport Security)를 활성화합니다.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
</dict>
SSL 인증서 고정 구 ...
6월 11일 17:00에 게시됨
Unity에서 Xcode 래퍼 메서드 호출 방법
1. C++ 인터페이스 구현
// C++ 스타일 코드로 컴파일 지시어 추가
#ifdef __cplusplus
extern "C" {
#endif
// C 문자열을 NSString으로 변환
NSString* CStringToNSString(const char* c) {
return [NSString stringWithCString:c encoding:NSUTF8StringEncoding];
}
// Unity 초기화 메서드
void Initialize(const char* objectName) {
[UnityExtension sha ...
5월 30일 03:16에 게시됨