본문 바로가기
반응형

기술적인 이야기298

GDPR 메시지를 만들라는 애드센스의 압력에 굴복하기 애드센스에서 어느 순간 GDPR 메시지를 만들라는 시뻘건(?) 팝업을 상단에 계속 띄우고 있다. 굉장히 압박이 느껴져서 안 하기도 그렇고 하지만 만들자니 도대체 뭔지 모르겠고 방치하다 결국 압박에 못 이겨 시키는 대로 해보기로 했다. 그 과정과 관련된 정보를 (사심을 섞어서) 간단하게 정리해 보자. 문제의 압박을 느끼게 만든 애드센스의 시뻘건 팝업은 아래처럼 생겼다. 그런데 어느 날엔 아예 아래의 제목이 붙은 독촉 메일이 날아오기도 했다. EEA 및 영국에서 AFS 광고 게재 시 적용되는 새로운 동의 관리 플랫폼 요구사항 언제나 그렇지만 구글의 알림과 도움말은 참으로 불친절하다. 도대체 무슨 말일까? 뭘 하라는 걸까? 어떻게 하라는 걸까? 참으로 오랜 시간을 들여서 드디어 해석(?)하는 데 성공했다. G.. 2023. 8. 18.
Xcode 프로젝트 Info.plist 실종 사건 새로운 앱 프로젝트를 만들 필요가 생겨 오랜만에 Xcode에서 새로운 프로젝트를 하나 만들었다. 프로젝트를 세팅하면서 권한 설정을 해야 해서 Info.plist를 파일을 열려고 프로젝트 내비게이터를 뒤져보는데 아니 도대체 이 파일이 어디 숨은 건지 도저히 참을 수 없었다. 말 그대로 실종 사건이다. 이게 없으면 빌드도 제대로 안 될 텐데 도대체 어디로 사라진 걸까? Xcode가 13 버전으로 업그레이드된 이후 겉으로 보이는 가장 큰 변화가 있다면 프로젝트에서 항상 보이던 Info.plist 파일이 사라졌다는 것이다. 앱 이름에서 부터 장치 권한 등 여러 중요한 설정을 해야 할 이 파일이 필요 없어졌을 리는 없다. Info.plist 파일이 사라진 것은 맞다. 정확하게 말해서 Xcode 13부터 Info... 2023. 8. 16.
macOS 13.4.1, iOS 16.5.1 릴리즈 노트 간밤에 macOs와 iOS 등등의 공식 업데이트가 올라왔다. 별도의 공식 패치 노트가 첨부되어 있지 않았기에 애플 소식 커뮤니티를 통해 정보를 찾아봤으며 아래의 수정 사항을 알 수 있었다. macOS 13.4.1 중요 보안 버그 수정 iOS 16.5.1 중요 보안 버그 수정 (iOS, iPad 등 공통) 라이트닝-USB3 카메라 어댑터로 충전할 수 없는 문제 수정 추천 보다시피 별로 적을 내용 자체가 없다. 그렇다면 그냥 넘어가도 될까? 개인적으로는 이 업데이트는 별도의 콘텐츠 수정 없이 중요한 보안 버그 수정이 포함되어 있기 때문에 설치하는 것이 좋으리라고 판단된다. 2023. 6. 22.
또다시 나타난 libarclite_iphoneos.a 오류 (Flutter) 회사 업무용 Flutter 프로젝트를 오랜만에 빌드했더니 지난번에 글을 썼던 적이 있었던 libarclite_iphoneos.a 문제가 또다시 나타났다. 대충 축약해서 아래와 같은 동일한 오류다. Error (Xcode): File not found: /Applications/Xcode.app/Contents/ ... /lib/arc/libarclite_iphoneos.a 다시 나타난 이유야 명백하다. Xcode 버전이 업그레이드되는 바람에 이전에 풀어놨던 파일들이 다 사라져 버렸기 때문이다. 그렇다면 원천적으로 이 문제를 해결하지 못하는 한 Xcode가 업그레이드될 때마다 이 문제를 계속 마주치게 될 것이 분명해 보인다. 상당히 귀찮다. 원천적으로 해결할 방법이 없는 것일까? 그나마 최근에는 정보가 생.. 2023. 6. 14.
WWDC23 주요소식 초간단 정리 한국 시각 6월 6일 새벽 2시에 있었던 WWDC23 라이브는 당연히 놓쳤다. 육아에 찌들어 사는 인생은 원래 이렇다. 나중에서야 전체 키노트 영상을 뒤져보고 개인적으로 중요하다 싶은 부분들만 골라서 정리해 본다. Vision Pro 팀쿡이 "One more thing"이라며 막판에 소개했지만 정작 키노트의 절반 가까운 시간을 점유해 버린 이번 WWDC의 하이라이트다. 결국 루머로 떠돌던 Reality Pro라는 이름이 아닌 Vision Pro라는 이름으로 발표가 되었다. 심지어 OS 이름도 xrOS가 아닌 visionOS로 나왔다. 기존 이름 관련 루머들이 다 틀리는 놀라운 결과가 나타났다. 물론 중요한 건 아니다. 사용된 부품들의 스펙 자체는 그다지 특별할 게 없다. 4K 모니터 2개 급 해상도다. .. 2023. 6. 6.
imagemagick으로 사진 연결하기 사진이나 이미지를 가로로 혹은 세로로 연결해서 붙이는 방법을 알아보자. 참고로 Linux나 macOS 뿐만 아니라 imagemagick을 쓸 수 있는 모든 OS에서 쓸 수 있다. 우선 imagemagick이 설치되어 있다 가정한다. 없으면 설치하면 된다. 내 경우 macOS에서 Homebrew를 쓰고 있어서 아래와 같은 방법으로 설치했었다. brew install imagemagick 다른 패키지 매니저를 쓴다면 해당 매니저를 이용해 설치하자. imagemagick으로 이미지 파일 연결하기 imagemagick에 들어있는 convert 유틸리티는 다양한 옵션을 제공하는데 여기서 append 옵션을 사용하면 여러 이미지를 하나의 이미지로 연결해서 합칠 수 있다. 이 append 옵션은 특이하게도 prefi.. 2023. 5. 20.
macOS 13.4, iOS 16.5 릴리즈 노트 RC가 나오면서 공식 릴리즈가 예고된 상태였는데 오늘 정식으로 macOS Ventura 13.4와 iOS 16.5 등의 OS 라인업이 릴리즈 되었다. 여기서는 macOS 및 iOS의 변경 내역만을 다루지만 중복되는 내역들은 아마도 다른 OS에도 비슷하게 적용되었을 거라 생각된다. macOS Ventura 13.4 Apple Watch로 자동 잠금 해제 기능을 사용하여 Mac에 로그인되지 않는 문제 해결 재시동 후 키보드가 Mac에 느리게 연결되는 Bluetooth 문제 해결 웹 페이지의 랜드마크 탐색과 관련된 VoiceOver 문제 해결 스크린 타임 설정이 재설정되거나 모든 기기에서 동기화되지 않을 수 있는 문제 해결 한국 지역 업데이트 내역에 적혀있지 않은 것들로 다음과 같은 내역이 있다. Apple .. 2023. 5. 19.
Flutter 앱 빌드 시 libarclite_iphoneos.a 및 아카이브 실패 문제 회사 Flutter 앱 프로젝트를 iOS 용으로 빌드하던 도중 문제가 발생했다. 이 글 주제의 시작은 아래 오류 메시지로부터 출발한다. Error (Xcode): File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a 빌드하는데 필요한 libarclite_iphoneos.a 파일이 없다는 오류다. Xcode 14.3으로 올린 이후에 이런 문제를 겪었기 때문에 아마도 이 버전의 Xcode 문제라고 생각된다. 위 메시지를 통해 두 가지 문제가 나왔고 이 두 가지 문제 해결의 과정을 정리해 보자. 명확한 해답이라고 하기엔 아직 지식이 부.. 2023. 4. 23.
Apple ID 국가 변경을 위한 고난의 여정 개인적인 사유로 최근 Apple ID의 국가 변경을 마쳤다. 무난하게 잘 되었을 리는 없고 그 사이에 꽤나 큰 우여곡절이 있었다. 그 경험을 공유하고자 이 글을 쓴다. 프롤로그 내 Apple ID는 굉장히 오래되었다. 사실상 한국 iPhone의 역사와 견줄 수준이다. KT가 iPhone 3GS를 한국에 들여왔을 때 사전예약으로 구매하고 만들었던 계정이니 틀린 말은 거의 없다. 내 첫 애플 계정의 특징이 있다면 미국 계정이라는 점이다. iPhone 3GS 출시 당시 한국 앱스토어에서는 앱이 별로 없어서 미국 계정이 필수였던 때다. 다행히도 카드 등록 없이 미국 계정을 생성하는 방법이 있었기에 미국에 살지 않고도 미국 계정을 만들 수 있었다. 다만 미국 지역의 청구 주소를 입력해야 하는데 당시 애플 사무실 .. 2023. 4. 15.
macOS 13.3.1, iOS 16.4.1 릴리즈 내역 메이저 버전인 iOS 16.4와 macOS 13.3이 릴리즈 된 이후로 별다른 베타도 없이 갑작스러운 첫 마이너 버전 릴리즈가 있었다. 아마도 긴급 수정 사항이 포함된 것 같은데 수정 내역에서는 확인할 수가 없었고 평범해 보이는 수정 내역 몇 가지 만을 볼 수 있었다. 공통 공통적으로 미는 손 이모티콘의 피부톤이 표시되지 않는 문제가 수정되었다. iOS 16.4.1 iOS 16.4.1에서 경우에 따라 Siri가 작동하지 않는 문제를 수정했다고 한다. macOS Ventura 13.3.1 macOS 13.3.1에서 Apple Watch로 Mac을 자동으로 잠금 해제하는 기능이 작동하지 않을 수 있는 문제를 수정했다고 한다. 그 외에 위 내역들은 표면적인 내역 같고 실제로는 최근 몇몇 서비스 장애와 관련된 .. 2023. 4. 8.
macOS 13.3, iOS 16.4 릴리즈 노트 이 내용은 개발자용 노트가 아닌 업데이트 화면에서 볼 수 있는 일반적인 업데이트 내역을 참고용으로 정리한다. 언급되지 않은 iPadOS, tvOS, watchOS도 iOS와 거의 동일한 업데이트일 것으로 예상된다. macOS Ventura 13.3, iOS 16.4 공통 이모티콘 키보드에 동물, 손 제스처, 물건 등을 포함한 21개의 새로운 이모티콘 추가 사진 앱의 ‘중복된 항목’ 앨범 기능이 확장되어 iCloud 공유 사진 보관함에서 중복된 사진 및 비디오를 찾을 수 있도록 지원 날씨 앱의 지도에서 VoiceOver 지원 자녀를 위한 ‘안전한 커뮤니케이션’ 기능을 사용하면 부모는 자녀가 나체가 포함된 사진을 받거나 보낼 때 경고가 뜨도록 설정해 놓을 수 있음 자녀가 보낸 구입 요청이 부모의 기기에 나타.. 2023. 3. 28.
어느날 git pull이 무서운 보안 오류를 내뿜었다 어느 날 업무로 Git을 통해 특정 저장소를 Pull 했는데 아래와 같은 스샷의 오류가 떴다. 좀 더 읽기 편하게 (개인정보와 해시키를 제거한) 텍스트로 정리하면 아래와 같다. $ git pull @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-m.. 2023. 3. 24.
개인적으로 느끼는 티스토리의 문제 개인적으로 선호하는 티스토리이지만 역시나 완벽할 수는 없고 개인적인 기호에 딱 들어맞을 수도 없다. 쓸거리가 없는데 개인적으로 느끼는 티스토리의 문제점이나 적어봐야겠다. 아마도 좀 기술적인 이야기가 나올 것이다. 에디터 문제 #1 사파리에서 오작동 유독 macOS 사파리에서 에디터의 버그가 좀 많다. 스크롤이 간혹 이상하거나 이상한 데로 튄다거나 등의 문제는 좀 가볍지만 귀찮기는 하다. 그런데 큰 문제가 하나 있다. 링크 걸기다. 사파리에서는 링크 걸기 버튼을 눌러도 커서가 주소 창에 옮겨가지 않고 본문 에디터 창에 그대로 남는다. 그래서 주소를 붙여 넣으면 본문에 주소가 덜렁 붙어버리는 심각한 결함이 있다. 크롬에서는 이 문제가 없다. 그밖에 사파리에서만 유독 로그인 세션이 유지되는 시간이 짧다. 사실.. 2023. 3. 20.
Objective-C에서 인터페이스 공개시키기 C 언어는 OOP 언어가 아니기 때문에 애초에 접근 제어(Access Control)와 관련된 기능이 없다. 그래서 보통은 헤더파일에 공개하기를 원하는 변수나 함수 등의 선언문을 작성해 놓고 필요한 곳에서 해당 헤더를 포함(include)시켜서 사용한다. 하지만 항상 헤더가 제공되는 법은 아니다. 만약 헤더 파일이 없다면 extern이라 불리는 키워드를 이용해 외부에서 구현된 기능을 적당히 참조하거나 호출하는 것이 가능하다. 예를 들어 아래의 코드가 있다고 치자. int globalvalue = 0; int foobar(int left, char *right) { ... } 위 코드의 인터페이스가 없더라도 아래와 같이 선언하면 위의 변수와 함수를 그대로 쓸 수 있게 된다. extern int global.. 2023. 3. 13.
Objective-C 블록 문법 블록(block)은 Objective-C에서 쓸 수 있는 동적 함수 혹은 클로저(Closure)와 비슷한 기능이다. 필요할 때 동적으로 생성될 수 있고 이름 없이도 구현할 수 있는 등 다른 여러 언어들의 클로저 개념과 상당히 유사하다. 블록이 컴파일될 때는 실제로는 함수 포인터 형식으로 변경되는 것으로 유추된다. 실제 코드에 포인터를 의미하는 * 문자가 사용되지 않지만 nil 을 가질 수 있는 등 포인터로 대체되어 컴파일되는 것 같다. 문법 꺽쇠 즉 ^ 문자가 블록을 가리키는 핵심적인 오퍼레이터다. ^{ ... } 위가 블록 문법을 알려주는 가장 기본적인 문법이지만 실제로는 아래와 같은 식의 문법을 쓰게 되는 것 같다. returntype (^name)(parameters) = ^(parameters) .. 2023. 3. 11.
AI챗봇에 대한 여러 부정적인 생각들 ChatGPT를 통해 촉발된 AI챗봇이 아직도 화제인 것 같다. AI를 도입하려는 기업들의 주가가 연일 폭등하고 있다. 이런 상황이 개인적으로는 그다지 달갑지만은 않다. 과연 AI챗봇의 등장은 우리 인간들의 삶을 윤택하게 만들 수 있을까? AI Chatbot AI챗봇은 채팅 형식으로 사용자에게 글(Text)을 생성해서 보여주는 서비스다. 다만 내용을 창조하는 것은 아니고 학습했던 대용량의 자료들 중 최적의 자료를 찾아 이를 글로 조합하는 것이 특기인 서비스다. 그런데 조합된 내용이 생각보다 수준이 높고 문장이 자연스러워서 화제가 되고 있다. 채팅 형식이기 때문에 대화하는 식으로 사용할 수 있으며 이 과정에서 일시적인 학습을 시키는 것도 가능하다. AI챗봇을 촉발시킨 ChatGPT는 GPT-3 기술 기반 .. 2023. 3. 9.
728x90
반응형