이번 주 근황요즘 회사에서는 QA 준비를 하고 있어요! 저번 주까지는 QA 리스트를 만들고 설정을 상세히 정리했는데, 이번 주는 해당 정리한 것을 바탕으로 테스트 앱을 만들었습니다. ㅎㅎ해당 앱을 만들면서, 테스트 앱이지만 사용성과 개발의 편의성 중 뭘 우선으로 여겨야 할까 대해서 고민하게 되더라구요. 무조건 키보드가 올라올 때 TextField를 올려주는 게 아니라 TextField가 키보드에 가려지는 위치라면 올려줘야 한다든가. tableView에서 키보드를 자동으로 내려주려고 onDrag를 설정하려고? 했다가도 … … 그렇게 되면 처음 작성했던 textField와 키보드 관련 코드와 tableView의 코드가 얽혀 버려서 곤란했어요. 너무 깊게 고민하기 싫어서 그냥 tableView의 onDrag를..
테스트를 하다 보면 꽤 자주 뜨는 오류이당. 더는 까먹지 않기 위해 정리하고자 한다. Simulator의 캐시 때문에 해당 오류가 뜨는 것 같다. 해결하기 위해서 stackoverflow의 도움을 받았는데, 해당 방법은 다음과 같다.Xcode를 닫고 terminal에 sudo chmod 1777 /tmp~/Library/Developer/CoreSimulator/Caches/dyld 폴더에 남아 있는 캐시를 삭제해 준다.Xcode 재실행! 방법이 상당히 간단한데, chmod 1777은 왜 하는거지? 싶어서 조금 찾아보았다. chmod 는 흔히 알고 있듯이 파일이나 디렉토리의 권한을 변경할 수 있는 명령어이다. 해당 명령어는 각 bit 자리수를 계산하여 설정할 수 있는데,read(r): 4write(r):..
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]; ..
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 ..
문제 상황 .app has comflicting provisioning settings. Invalid Provisioning Profile Signature. The provisioning profile included in the bundle com.blablabla.BlaBla [com.blablaba.BlaBla.pkg/Payload/BlaBla.app] cannot be used to submit apps to the Mac App Store until it has a valid signature from Apple. For more information, visit the macOS Developer Portal. 회사 프로젝트를 빌드하다 보면 간혹 이런 인증서 오류가 뜨면서 빌드가 안 될 때..
기초 문법 .h 헤더 파일과 .m 구현 파일 2개가 존재한다. 헤더 파일에는 클래스나 변수, 메서드를 선언해 주고 .m 파일에서 자세한 구현 사항을 기술한다. 한 문장이 끝날 때마다 세미콜론을 사용해야 한다. #import #import "headerSomethingHeader.h" #import 외부 라이브러리, 프레임워크, 프로젝트 내에 있지만 다른 파일에 선언된 클래스를 사용할 때 import해 준다. 구현 파일에서도 자신의 헤더 파일을 반드시 import 해야 하며, .h 파일에서 import 한 내용은 .m 에서 import할 필요가 없다. 각각 파일별로 관리된다고 보면 되며, C언어와 비슷하게 사용할 클래스가 있다면 import하여 사용한다. 클래스 선언 @interface Person : N..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.