본문 바로가기

IT/iOs

(45)
Missing or invalid signature 문제 Dear Developer, We identified one or more issues with a recent delivery for your app, "Project Name" 3.3.0 (33012). Please correct the following issues, then upload again. ITMS-90034: Missing or invalid signature - The bundle 'com.myproject.bundle' at bundle path 'Payload/ProjectName.app' is not signed using an Apple submission certificate. Best regards, The App Store Team 잘만 올라가던 빌드가 안올라가지더니 위처..
Incompatible integer to pointer conversion assigning to 'int *' from 'int' 오류 Incompatible integer to pointer conversion assigning to 'int *' from 'int' 속성에 assign 추가해주거나 포인터 제거하면됨 @property (nonatomic, assign) int myInt;
카탈리나 ios9, ios8 시물레이터 지원 중단 카탈리나 ios9 이하 시물레이터 지원 중단 Mac os catalina ios9 simulator unsupported 회사 프로젝트가 ios8부터 지원을 하고 있습니다. 올리자고 건의를 해도 씨알도 안먹히네요 유저가 1%도 안되는데 말이죠 그런데 ios9시물레이터로 테스트좀 해보려고 보니 없어서 시물레이터 추가화면 들어가서 받으려는데 다운 목록에도 없고 파일을 따로 인터넷에서 받아서 설치해보니 해당 OS에서 지원 불가하다고 나오더군요 알고보니 카탈리나에서 ios10미만 시물레이터 지원을 중단했습니다. 개발자가 계속 가지고있을 수 있는 기기가 있으면 상관없지만 회사 공용으로 쓰는 저같은 개발자분들은 이제 매우 불편해지겠습니다. https://stackoverflow.com/questions/581685..
배경 터치시 현재 뷰컨트롤러 내리기 배경 터치시 현재 뷰컨트롤러 내리기, 소유권 없애기 iOS에서 배경 화면을 터치했을때 이벤트를 캐치가 필요 할 때가 있습니다. 주로 현재 소유권을 가지고있는 컨트롤의 소유권을 없앨때 많이 사용합니다. 예를 들면 입력 완료한 텍스트필드의 키보드를 내린다거나 모달을 내리는 등의 액션이 있겠습니다. 해당 기능은 UIResponder에 있는 touchBegan:withEvent: 함수를 통해 가능합니다. touchBegan:withEvent: 함수는 사용자가 뷰를 탭하는 이벤트가 발생하면 호출됩니다. touchBegan:withEvent: 함수에는 이벤트가 발생한 오브젝트 정보들을 받아 볼 수 있는 UITouch객체들를 Set형태로 매개변수가 있습니다. 해당 변수로 어떤 뷰에서 이벤트가 발생했는지 알 수 있습니..
생체인증 구현하기 iOS 생체인증 구현하기 아래 소스 코드는 각 기기에 맞게 터치아이디 또는 페이스아이디를 사용한 생체 인증을 구현한 코드입니다. Objective-C @property (strong, nonatomic) LAContext * laContext; - (BOOL)isFaceIdSupported { static BOOL ret = NO; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ #if TARGET_IPHONE_SIMULATOR NSString *model = NSProcessInfo.processInfo.environment[@"SIMULATOR_MODEL_IDENTIFIER"]; #else struct utsname systemInfo;..
Xcode 11.1,11.2,11.3 Crash Xcode 11.1 이상 버전 프로젝트 실행 안돼고 강제종료 되는 문제 어느날 하던 개발 이어서 하려고 프로젝트 파일을 더블클릭했더니 그냥 꺼집니다. 몇번을 시도해봐도 마찬가지였고 저는 딱히 한게 없고 또르르 .. 강제 종료 됐다며 다시 실행하겠냐는 안내창은 계속뜨고.. 다시 열기 눌러도 같은 현상 무한 반복이더군요 발생하는 오류 로그는 아래와 같았습니다. ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-14936/IDEKit/Workspace/IDEWorkspaceDocument.m:3435 Details: selection failes. window: Method: - restoreSelecte..
iOS 유니버셜 링크 적용 방법 (Universal Link) iOS 유니버셜 링크란 (Apple Universal Link) 기능 웹에서 앱을 호출 하는 기능이 필요할 때가 있습니다. 기존에는 Scheme URL 방식으로 호출을 했었는데 이 방식을 사용하면 기기에 앱이 설치되어있는 없든 사용자가 링크를 눌렀을 때 '앱스토어로 이동하시겠습니까?'라는 알럿이 뜹니다. 이 알럿창 확인 버튼을 누르면 앱이 깔려있으면 앱으로 이동하게 됩니다. 동작 사항이 부자연스럽습니다. 앱으로 이동하는데 안내 문구는 앱스토어를 말하니깐요 해당 문제를 해결할 수 있는 방법이 유니버셜 링크입니다. 유니버셜 링크를 이용하면 앱이 설치되어있는 사용자가 링크를 누르면 앱으로 이동하고 없으면 앱스토어로 이동하게 됩니다. 좀 더 나아가 이 기능을 OS에서 처리해주나 기대를 했지만 앱스토어로 보내는 ..
시물레이터에서 3d 터치 쓰는법 Hot to use xcode simulator 3d touch 1. 맥 시스템 환경설정 > 트랙패드 > 포인트 및 클릭 맨 아래 세게 클릭 및 햅틱 피드백 항목을 체크합니다. 해당 항목이 없는 맥북은 아쉽게도 시물레이터로 3d 터치 실행이 불가능합니다 2. 시물레이터 실행 > Hardware > Touch Pressure Use Trackpad Force 가 체크되어있는지 확인하고 3d 터치를 테스트해보고 싶은 시물레이터상 위치위에서 꾸욱 눌러보세요!