본문 바로가기

Programing/My OSS

(11)
[Contact] v2.1 - 앱 크래시 핫픽스 앱 크래시 현상이 발견되어 핫픽스를 진행해였습니다. (관련 내용은 아래에 적어둡니다.) 이전 버전: namocom.tistory.com/906 (v2.0) 릴리즈 SHA-1: 32b66326e74c883f382c5e3695e209ab3845379a 원인 1. 앱 실행시 종료 문제 전에는 Apple Develop을 유로로 구독하지 않아도 내부적인 용도로 사용을 위해 sigining이 가능했습니다. 그런데 어느 순간부터 정책이 바뀌어서 더 이상 사이닝이 불가능해졌습니다. 정책이 바뀌기 전 프로젝트 설정이 사이닝으로 되어 있는데 실제로는 사이닝이 안되고 있어서 앱이 인증 문제로 바로 종료되는 문제가 있었습니다. 결국 설정에서 코드 사이닝을 제거하는 것으로 일단 해결했습니다. 2. 앱 실행후 종료 문제 한글을 ..
[Contact] v2.0 (서브디렉토리 처리 기능 추가) macOS Catalina에서 crash가 발생하는 것이 확인되었습니다. 이 버전은 사용하지 마시고 v2.1을 사용바랍니다. 2020년 10월 9일 한글날 버전에 이어 디렉토리의 경우 하위 디렉토리까지 처리하는 기능을 추가했습니다. 주의할 점은 너무 많은 서브디렉토리가 있는 경우 처리에 오래걸릴 수 있습니다. 릴리즈 SHA-1: bf6fe57e0ffe47a66383974470c170375b128ca8 Release: github.com/namhokim/cocoa_app/releases/tag/contact-v2.0
[Contact] 한글날 버전 v1.09 2020-10-12 버전: 2.0이 릴리즈 되었습니다. 한글날을 맞아 한글 자음과 모음을 합쳐주는 애플리케이션 버전을 업데이트했습니다. 시간이 없어 마이너 업데이트만 진행하였습니다. 릴리즈 SHA-1: 8c0321a0920bffb280144ba74e12aaa9faead3b9 Release: github.com/namhokim/cocoa_app/releases/tag/Contact-v1.09 추가 기능: 이번에 추가된 feature는 dock에 파일(들)을 drag & drop을 하면 변환되도록 하는 기능을 추가하였습니다. 천마디 말보다 하나의 동영상이 더 이해하기 쉽습니다. 3가지 케이스. 동일한 Dock의 아이콘 중 왼쪽이 구버전, 오른쪽이 신버전입니다. CFBundleDocumentTypes 이 기능..
[macOS 10.11+] Contact(한글 자모 합치기 for mac) 2020-10-12 버전: 2.0이 릴리즈 되었습니다. 2020-10-09 버전: 1.09가 릴리즈 되었습니다. 라이센스 본 애플리케이션은 오픈소스 소프트웨어(Open Source Software)입니다. 개인용 및 회사에서 사용이 가능하고 재배포 또한 가능합니다. 다만, 재배포시에 댓글로 재배포 하는 내용(URL 등)을 남겨주세요. (별도의 승인 필요없습니다.) 개요 애플리케이션명: Contact 버전: 1.0 지원 macOS 버전: 10.11(El Capitan) 설명: macOS 용 한글 자모(자음과 모음) 교정 애플리케이션입니다. 다운로드 위의 링크 혹은 깃헙(GitHub) 릴리즈 노트에서 가능합니다. $ shasum Contact-v1.0.zip 8d4ae49af417eb37292c2c3693a..
[Cocoa] 메뉴의 응답을 Controller에서 받게 하기 First Responder에 대해 정확히 이해를 못해서 메뉴에 대한 핸들러를 구현하는데 어렵게 했다. 결론적으로 아래 동영상이 큰 힌트를 주었다. youtu.be/buhMugErboM?t=1176 유즈케이스: Help 메뉴에 대해 링크를 구현 xcode에서 macOS 앱을 만들면 기본적으로 다양한 메뉴를 자동으로 만들어준다. 맨 오른쪽에 Help 메뉴가 있는데 핸들러는 구현이 되어 있지않다. 스토리보드를 만들면 ViewController가 기본적으로 만들어져 있다. 여기에 핸들러를 구현을 해도 응답이 오지 않는다. import Cocoa class ViewController: NSViewController { // .. @IBAction func showHelp(_ sender: Any) { guard..
[Swift] String test in PlayGround xcode에는 PlayGround 라는 코드를 쉽게 테스트하기 위한 인터페이스를 제공한다. REPL 이라는 말처럼 스크립트 언어를 쓰고 평가를 바로바로 해서 어떤 결과를 만드는지 확인할 수 있는 시스템(체계)이다. import UIKit import Foundation // https://forums.swift.org/t/checking-if-a-url-is-a-directory/13842 // https://stackoverflow.com/questions/24208728/check-if-nsurl-is-a-directory extension URL { var isDirectory: Bool { let values = try? resourceValues(forKeys: [.isDirectoryKey])..
[Contact] 파일열기 다이얼로그: NSOpenPanel 드래그 앤 드롭 으로 구현을 하려고 했는데 너무 러닝 커브가 커서 파일 열기 다이얼로그로 작성을 했다. 코드 스니핏 import Cocoa func openDialog(_ sender: Any) { let panel = NSOpenPanel(); panel.canChooseFiles = true; panel.canChooseDirectories = true; panel.resolvesAliases = false; panel.allowsMultipleSelection = true; if (panel.runModal() == NSApplication.ModalResponse.OK) { if (panel.urls.count > 0) { for url in panel.urls { print(url.path) }..
[GetTogether] macOS 용 자소교정기 - 발단 2020년 2월이 되어 상반기가 끝나서 평가를 했다. 평소 프로젝트를 디렉토리로 관리를 해서 ls 명령을 파일로 만들어서 쓰려고 했는데 한글 자소가 풀리는 현상이 있었다. 예) 위의 폴더를 ls 명령과 리다이렉션을 이용하면 디렉토리 목록을 파일로 만들 수 있다. 하지만 list.txt 파일의 내용은 아래와 같았다. 한글의 자소가 풀어졌던 것이다. 다만 이것은 텍스트 에디터 Sublime Text 2 이 유니코드의 NFD를 제대로 처리를 못하고 있어서 이렇게 보이는 것이다. NFD를 처리하고 있는 기본 텍스트 편집기는 아래와 같이 제대로 보인다. 결국 mac OS에서 윈도우로 옮겨진 파일 이외에도 내부적으로 NFD로 구성된 한글이 문제가 발생될 수 있는 것을 경험한 것이다. 그래서 NFD로 되어 있는 파일..