목록전체 글 (184)
일모도원(日暮途遠) 개발자

맥용 앱을 앱스토어에 Upload하다가 다음과 같은 에러를 만났다. App Store Connect Operation Error App sandbox not enabled. The following executables must include the ~~~~~ 타겟을 선택한후 Signing & Capabilities를 선택하고 All 옆의 + 버튼을 누른다. 아래화면이 뜨면 App Sandbox를 선택한다. 그러면 Signing & Capabilities에 App Sandbox가 추가된게 보인다. File Access Type을 아래처럼 변경한다. 위처럼 변경하면 entitlements파일도 같이 자동으로 변경된다. 다시 Archive해서 Upload해보면 아래처럼 성공적으로 Upload되는걸 볼수 있다.

Library - Developer - Xcode - DerivedData폴더를 이름을 바꿔서(사실은 지워버릴려고 했다. 다시 자동으로 생성되므로) 앱을 실행하니 아래와 같은 에러가 나왔다. (pod install을 다시 해봐도 똑같은 에러가 나온다.) 이때는 File - Packages - Resolve Package Versions을 실행해보면 해결 된다.
Mac에서 동영상이 재생중일때는 스크린세이버가 동작하면 안된다. CatalystAppManager.swift파일에 아래 두 func을 추가하자. #if targetEnvironment(macCatalyst) import IOKit.pwr_mgt var noSleepAssertionId: IOPMAssertionID = 0 var noSleepReturn: IOReturn? func disableScreenSleep(reason: String = "Unknown reason") -> Bool? { guard noSleepReturn == nil else {return nil} noSleepReturn = IOPMAssertionCreateWithName(kIOPMAssertionTypeNoDisplaySl..
단축키(短縮Key, Shortcut Keys) 리스트 실행하기 (Run) : Command(⌘) + R(Run) 파일명 찾기 : Shift(⇧)+ Command(⌘) + O(Open) 특정 라인(줄수)으로 가기 : Command(⌘) + L(Line) 정의(定義)된곳으로 가기 (Jump to definition) : Control(⌃) + Command(⌘) + Click 이전 코드로 가기 (Go back) : Control(⌃) + Command(⌘) + Left Arrow Key(◀︎) 다음 코드로 가기 (Go forward) : Control(⌃) + Command(⌘) + Right Arrow Key(▶︎) 키 아이콘 리스트 ⇧ : Shift Key ⌘ : Command Key ⌃ : Contro..
스위프트에는 static 함수말고 class함수도 있다. class MyClass { func myFunc() {} class func myClassFunc() {} static func myStaticFunc() {} } 일반적인 함수는 인스턴스 메소드(Instance method)로 객체를 생성한후에 부른다. static함수는 객체를 생성하지 않고 MyClass.myStaticFunc()처럼 클래스명에 붙여서 부르면 되는데 class func는 뭘까? 차이점은 class func는 상속이 된다. 이외는 static func(상속 안됨)와 똑 같다. 둘다 타입 메소드(type method)라 부른다. class SubClass : MyClass { class func myClassFunc() {} st..

나는 현재 서버는 MySql이고 안드로이드 앱에는 RealmDB를 쓰고 있다. MySql에서 바로 RealmDB로는 변환이 안되어서, 일단 SQLite로 변환후 SQLite에서 Json으로 변경후 RealmDB로 변환하고 있다. 여기서는 MySql을 Sqlite로 변환하는 방법을 적어두고자 한다. 일단 mysqldump를 이용하여 db를 dump한다. dump_mysql.sql이 결과물이다. mysqldump -uroot -p --skip-extended-insert --compact databasename > dump_mysql.sql 만약 일부 테이블만 덤프 받을려면 아래처럼 한다. mysqldump -uroot -p --skip-extended-insert --compact databasename ..

마우스 커서 할때 커서는 영어로 Cursor이다. 근데 마우스(Mouse)는 쥐라는건 알겠는데 커서가 무슨 뜻일까? 미국인 더글러스 엥겔바트(Douglas Engelbart)가 1968년에 마우스를 발명할때 화면에 보이는 마우스의 위치를 커서라 명명(命名)하였다. 위키에 따르면 Cursor의 어원(語源, Etymology)은 라틴어로 Runner이라고 한다. 원래는 커서는 계산자(計算자, slide rule)에서 좌우로 움직(Run?)이면서 현재위치를 나타내는걸 말한다. 영어권 사람들이 보면 아주 적절하게 응용한 이름같다. DataBase에 쿼리결과를 받아와서 루프를 돌면서 한줄한줄 처리할때도 커서라는 용어가 나온다. 위 계산자 이미지의 커서를 보면 더 명확하게 와 닫는다. ※ 참고로 자(Ruler)는 ..

아직 작성중인 문서입니다. 현재 나는 zsh를 사용하고 있고, 기본적으로 내 맥의 터미널(사실 iTerm2이다)에 나타나는 프롬프터(맞나?)는 아래처럼 나온다. 사용자명@컴퓨터명 현재폴더명 이런씩으로 나오는데 한줄에 다 나오므로 길고 촌스럽다. 그래서 나는 아래처럼 두줄로 표시하게 하였다. 첫번째줄은 항상 한줄먼저 떼고 시작한다. 그리고 현재폴더명을 보여준다. 두번째 줄은 간단하게 > 만 보여주는데, git을 사용하는 폴더는 브랜치 명을 같이 보여준다. 위치럼 표시하기 위해서는 .zshrc를 수정해야한다. cd 명령어로 홈 디렉토리로 가서 .zshrc를 열고 아래 문구를 추가해준다. PROMPT=$'\n${SSH_CONNECTION+"%{$fg_bold[green]%}%n@%m:"}%{$fg_bold[g..