정리 잘 된 사이트

https://spin.atomicobject.com/2014/03/23/xcode-keyboard-shortcuts/


키 아이콘


⌘ = Command

⇧ = Shift

⌥ = Option/Alt

⌃ = Control

⇠ ⇢ = Left/Right Arrow Keys

⇡ ⇣ = Up/Down Arrow Keys



아래는 내가 자주 사용하는 단축키임.

프로젝트 진행하면서 최소 8~90%는 모두 사용하는 듯...

일부러 외우려고 하지는 않았지만 xcode를 사용하다보니 저절로 외우게 되었다.


우측창(navigator area) : ⌘ + 1~7

좌측창(utility area) : ⌘ + + ⌥ + 1~6



1. 편집 시 자주 사용하는 단축키


⌘ + /: 한 줄 주석 달기/풀기


⌘ + ⇠ : 선택 줄 맨 처음으로 이동

⌘ + ⇢ : 선택 줄 맨 끝으로 이동

⌥ + ⇠ : 선택 줄 한 단락씩 앞으로 이동

⌥ + ⇢ : 선택 줄 한 단락씩 뒤로 이동

⌥ + ⌘ + ⇠ : 커서가 위치한 편집영역 숨기기

⌥ + ⌘ + ⇢ : 커서가 위치한 편집영역 보이기

⌃ + ⌘ + ⇠ : 이전 편집 위치로 이동

⌃ + ⌘ + ⇢ : 다음 편집 위치로 이동



2. 편집 창 이동


⌃ + ⌘ + ⇡ OR ⇣ : 현재 클래스의 .m / .h 파일 간 이동

⌘ + 변수/형타입 : 해당 변수의 선언, 형타입의 선언으로 이동

⌘ + T : 새로운 탭 열기

⌘ + W : 현재 탭 닫기

⇧ + ⌘ + [ : 이전 탭으로 이동

⇧ + ⌘ + ] : 다음 탭으로 이동



3. 빌드 시 주로 사용하는 단축키


⌘ + R: 프로젝트 실행

⌘ + B: 프로젝트 빌드

⌘ + I: 프로파일

⇧ + ⌘ + B: 정적분석

⇧ + ⌘ + K: 프로젝트 클린

⇧ + ⌘ + <: 스킴 편집



4. 디버깅


F6 : 스텝 오버

F7 : 스텝 인

⌘ + \ : 브레이크 포인트 설정/취소 

⌘ + Y : 브레이크 포인트 활성/비활성

⌃ + ⌘ + Y : 디버거 실행/일시정지



그런데, OS X에 상주하면서 떠있는 프로그램이 있을 경우 동일하게 키가 맵핑되어 해당 프로그램의 단축키가 실행되는 경우가 있다.

이럴 경우는 단축키 배열을 변경해줘야 할 것 같음.


Xcode 로그가 잘찍히기는 하지만 가끔 구분이 어려울 때가 있어서 로그가 좀 구분되게 찍히는 방법을 찾아봤다.


뭔가 애드온이라도 붙여서 로그 레벨별로 찍어주는 게 있을까 싶었는데, 찾을 수가 없었는데...emoji를 넣어서 구분하는 방법을 써보니 꽤 유용하다.



NSLog(@"😃 SUCCESS");

NSLog(@"😡 FAILURE");


요렇게 해놓으니 눈에 잘 들어온다. 


ㅋㅋㅋ 아이 좋앙~



맥에서 이모지 입력하는 단축키이다. 


1) 매버릭 이상:  ctrl + command + space

2) 마운틴 라이언 이하: option + command + T


XCODE에서 프로젝트를 하나 생성해서 작업하는데, 다음과 같은 로그가 콘솔에 계속 찍힌다.


nw_socket_set_common_sockopts setsockopt SO_NOAPNFALLBK failed: [42] Protocol not available


흠...이 것 말고도 로그가 좀 찍히기는 하는데, 아무튼 실행에는 문제가 없지만 거슬린다.



빌드 설정에서 다음과 같이 체크를 해준다. (Xcode 8.1에서 해결되었다고 하지만 실제로 해결되지 않았다. 증상이 반복됨)


>> http://stackoverflow.com/questions/37800790/hide-strange-unwanted-xcode-8-logs/39461256#39461256



일단 위와 같이 스킴 설정 화면에서 OS_ACTIVITY_MODE를 disable 로 체크해주니 사라졌다.

 

제목은 거창하지만 답답할 사람들을 위해서 적어 본다.


음...실제 iOS 앱을 마켓 배포한지가 꽤 되어서 오랫만에 마켓 배포를 하려다 보니 좀 이상한 에러 메시지가 보인다. 


이상하게 배포 인증서도 정상 발급한 상태이고, 프로비저닝 프로파일도 제대로 발급한 상태인데도 불구하고 프로비저닝 프로파일이 매칭이 안된다니?


No matching provisioning profile found


일단 여행이 시작된다.


CSR과 배포용 인증서를 새로 발급하고, 프로비저닝 프로파일도 새로 생성하고 실행해 보았다. -> 동일 증상

Xcode를 종료하고 다시 2~3 차례 실행해보았다. -> 동일 증상

키체인 앱을 실행하여 기존 인증서와 키를 삭제하고 다시 다운로드 후 실행해보았다. -> 동일 증상




일단 Xcode > Preferences > Accounts 에서 기존 파일들을 모두 삭제한 뒤 개발자 사이트 접속해서 새로 관련 파일들을 받아서 실행해 보았다.


Archiving은 된다. 오거나이저에서 새로운 바이너리가 등록되면서 일단 아카이빙에는 성공했다.

문제는 이 바이너리의 유효성 체크를 위해서 Validate를 진행하면 다음과 같은 에러메시지가 뜬다.


Missing ios distribution signing identity


이게 뭔 소린가?


해답은 다음과 같다.


From Apple - 

Thanks for bringing this to the attention of the community and apologies for the issues you’ve been having. This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, you should first download and install the new WWDR intermediate certificate (by double-clicking on the file). Next, in the Keychain Access application, select the System keychain. Make sure to select “Show Expired Certificates” in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate (expired on February 14, 2016). Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store.


애플의 인증서 이슈였던 것.

일단 애플의 답변대로 위의 링크에서 새로 받은 것을 설치한 뒤, 키체인 관리에서 시스템 키체인 항목에서 만료된 인증서 보기를 선택 후 해당 인증서 삭제한다.

Xcode 재실행해서 아카이빙한 뒤 오거나이저를 통해서 마켓에 올리면 된다.


혹시나 안된다면 맥을 한 번 더 리부팅한 뒤 Xcode를 재실행해보자!


아래는 해당 내용을 찾은 원문...


http://stackoverflow.com/questions/32821189/xcode-7-error-missing-ios-distribution-signing-identity-for



게으른 내가 2~3시간 헛손질하다가 함 써본다. 킁!


제이슨킷을 포함해서 Xcode 4.4 이상에서 컴파일하면 다음과 같은 경고들이 뜬다.


1. Format specified type 'unsigned long' but the argument has type 'NSUInteger' (aka 'unsigned int')


http://stackoverflow.com/questions/4998722/why-does-only-nslog-warn-me-about-using-the-lu-string-format-specifier-for-nsui



2. Direct access to objective-c's isa is deprecated in favor of object_setClass() and object_getClass()


http://stackoverflow.com/questions/11735460/multiple-format-string-issue-warnings-in-jsonkit-m-after-upgrading-to-phonegap



대충 읽어보니...현재 버전에서 문제는 없지만 노란 경고가 줄줄이 뜨니 기분이 영 마뜩찮다.


추가한 광고 패키지에 들어있는 제이슨킷 메서드 관련된 부분인데, 직접 수정해도 되지만 요거 수정해달라고 해야 할 듯...


아무튼 해결책은 다음과 같다.


https://issues.apache.org/jira/browse/CB-1164



+ Recent posts