DK308C
close
프로필 배경
프로필 로고

DK308C

  • 분류 전체 보기 N
    • CS 지식
      • 컴퓨터 구조와 운영체제
      • Network
    • 알고리즘 N
    • iOS
      • Objective-C
      • App
      • Error
    • Cryptic
    • Study
    • TIL
    • 후기
    • 회고
      • 매주 회고
    • etc
  • 홈
  • 태그
  • 방명록
[Objective-C]SceneDelegate 이후 바뀐 UIWindow 접근법

[Objective-C]SceneDelegate 이후 바뀐 UIWindow 접근법

안녕하세요?iOS 13에 바뀐 걸 왜 2025년에... ...????? 라는 생각이 들기는 하지만살다보면 이해할 수 없는 일이 있는 법이다 보통 회사에 남아 있는 레거시 코드가 그렇다 찾아보면 Swift 기반 코드들은 많이 나오는데 Objective-C 에서 변경하는 코드들은 많이 안 나오더라 기존 코드는 아래와 같다.SceneDelegate를 사용하지 않는 프로젝트의 경우,window 변수를 사용하기 위해서는 보통 아래와 같은 선언을 사용한다. UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; UIWindow *window = [[[UIApplication sharedApplication] dele..

  • format_list_bulleted iOS/Objective-C
  • · 2025. 6. 13.
  • textsms

Arithmetic Overflow in Swift & Objective-C

최근 Objective-C로 된 소스를 Swift로 바꾸는 작업을 하고 있다. (이젠 거의 막바지라는 것이 믿기지 않는다.)Objective-C에서는 C와 동일한 타입으로 사용할 수 있었지만, Swift에서는 C의 unsigned char, unsigned int 값들을 UInt8, UInt32로 포팅하여 사용해야 했다. 그러던 중 ... ... arithmetic overflowThread 1: Swift runtime failure: arithmetic overflow 이 오류를 만났다.해당 오류는 반드시 발생하는 것은 아니었다. (로직이 그랬음) 에러 문구에서 알 수 있듯이, 산술 오버플로우로 타입에서 처리할 수 있는 값 이상을 넣었기 때문에 발생했다. 문제가 있었던 변수는 UInt8 타입으로, ..

  • format_list_bulleted iOS/Objective-C
  • · 2025. 4. 7.
  • textsms

[SwiftUI Preview error] unrecognized selector sent to instance

Application Specific Information:        CoreFoundation:            *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton lbText]: unrecognized selector sent to instance 0x1052ce370' 이 오류가 왜 나는지는 알고 있었다.보통 swift 프로젝트에서 ObjC 라이브러리를 사용하게 되었을 때, other linker flag에 `-ObjC`를 추가 안 해 주면 해당 ObjC 파일을 스위프트 컴파일러가 찾지 못해 해당 오류가 발생하는 경우가 잦다. 하지만? 이번에는 그런 경우는 아니었따 . . ..

  • format_list_bulleted iOS/App
  • · 2024. 9. 26.
  • textsms
XCTestCase

XCTestCase

요즘에는 SwiftTest라고 SwiftUI에서 하는 테스트가 따로 있던데 우리 회사는 UIKit을 기반으로 Objc / Swift를 혼합하여 사용하고 있어 XCTest를 사용해야 했다.WWDC 즈음부터 공부하던 거라 ㄱ- 알고 보니 SwiftTest는 2024WWDC에서 새로 나온 거더라?! 전혀 몰라따 .... :3  XCTest의 처음과 끝먼저, 기본적인 순서는 다음과 같다.setUp(): 앱 실행test_something(): 기능 테스트tearDown(): 종료첨에 이런 순서를 알고 테스트를 했는데 갑자기? 막 오류가 나고? 이상하게 테스트가 진행되는 것이다.그러니까, 나는 … … setUp() → test_1() → test_2() → … → tearDown() 이런 순인 줄 알았는데 아니었다..

  • format_list_bulleted iOS/App
  • · 2024. 9. 17.
  • textsms
Frida를 이용한 iOS 메모리 분석

Frida를 이용한 iOS 메모리 분석

하게 된 계기팀 내에서 암호 고도화 프로젝트를 진행하는데, 관련하여 어떤 부분까지 암호화되어야 안전한지에 대해 의문이 생겼다. iOS 사용자의 입력 정보를 탈취하거나 하려면 어떻게 해야 할까? 탈취하면 어떤 정보가 나오는가? 간단히 시도해보았을 때 해커가 어느 부분까지 침투할 수 있는지를 살펴보고자 했다. (말은 거창하지만 실은 그닥 거창하지는 않다)    이용한 방법두 가지 방법을 이용하였다.memory dumpmethod hooking먼저, Memory Dump는 정적인 방법으로, 특정 시점의 메모리 상태를 알 수 있다. fridump를 이용하여 현재 메모리 상태를 dump 뜨고 관찰하는 방법은 조금 노가다에 가까웠다. (물론 내가 느끼기에는….) 아무래도 요며칠 동안 잡고 있으면서 가볍게 공부를 한..

  • format_list_bulleted iOS
  • · 2024. 7. 3.
  • textsms
[error] Interrupted system call

[error] Interrupted system call

테스트를 하다 보면 꽤 자주 뜨는 오류이당. 더는 까먹지 않기 위해 정리하고자 한다. Simulator의 캐시 때문에 해당 오류가 뜨는 것 같다. 해결하기 위해서 stackoverflow의 도움을 받았는데, 해당 방법은 다음과 같다.Xcode를 닫고 terminal에 sudo chmod 1777 /tmp~/Library/Developer/CoreSimulator/Caches/dyld 폴더에 남아 있는 캐시를 삭제해 준다.Xcode 재실행! 방법이 상당히 간단한데, chmod 1777은 왜 하는거지? 싶어서 조금 찾아보았다. chmod 는 흔히 알고 있듯이 파일이나 디렉토리의 권한을 변경할 수 있는 명령어이다. 해당 명령어는 각 bit 자리수를 계산하여 설정할 수 있는데,read(r): 4write(r):..

  • format_list_bulleted iOS/Error
  • · 2024. 5. 22.
  • textsms

[Objective-C] hooking과 method swizzling

Swift와 Objective-C에서 Swizzling과 Hooking은 비슷한 기술이지만, 다른 목적과 구현 방식을 가지고 있다. Swizzling런타임에서 method 구현을 변경하는 것을 의미하며, 일반적으로 클래스의 method를 다른 method로 교체하는 것을 의미한다. 이를 통해 기존의 method 동작을 수정하거나 확장할 수 있다.Swift와 Objective-C가 동적으로 동작하기 때문에, Swizzling이 가능하다. (정적으로 동작하는 C / C++과 같은 경우에는 method Swizzling이 불가능)Swizzling은 주로 디버깅이나 런타임에서의 동작 변경에 사용된다.+ (void)swizzleMethod { Class class = [self class]; ..

  • format_list_bulleted iOS/Objective-C
  • · 2024. 4. 18.
  • textsms
[iOS] Privacy Manifest

[iOS] Privacy Manifest

Privacy Manifest 때는 바야흐로 24년 2월 29일. Apple Development News가 올라왔다. 바로 Privacy Manifest에 관한 것이었는데, 처음 봤을 때는 이… … 이게 뭐지? 싶었다. 그랬다. 내가 보지 않은 2023 WWDC 영상 중 하나가 Privacy Manifest 관련이었던 것이다…. Get started with privacy manifests - WWDC23 - Videos - Apple Developer Get started with privacy manifests - WWDC23 - Videos - Apple Developer Meet privacy manifests: a new tool that helps you accurately identify ..

  • format_list_bulleted iOS/App
  • · 2024. 3. 25.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • navigate_next
공지사항
  • One day at a time
전체 카테고리
  • 분류 전체 보기 N
    • CS 지식
      • 컴퓨터 구조와 운영체제
      • Network
    • 알고리즘 N
    • iOS
      • Objective-C
      • App
      • Error
    • Cryptic
    • Study
    • TIL
    • 후기
    • 회고
      • 매주 회고
    • etc
최근 글
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바