기본 콘텐츠로 건너뛰기

2025년 9월 카카오 사태 프로필 미공개

2025년 9월 23일 카카오 사태가 벌어졌다.   나는 다행히 앱스토어 설정에 들어가서 자동업데이트를 비활성해서 이번 사태를 잠깐 피해갈 수 있었다.   하지만 유튜브를 보다보니까   이번에 업데이트를 이미 한 사람들에게 나의 프로필이 까발려 진다는 것을 알게되었다.   내 친구한테 알려지는 건 좋은데   카카오톡은 내가 전혀 모르는 사람이나 싫은 사람, 업무적인 사람들 연락처에 있는 모든 사람이나 전화 번호가 변경되서 모르는 사람들도 친구 목록에 표시가 된다.   그런 모든 사람들에게 내 사생활을 강제로 공개되도록 해버렸다는 거에 공포를 느꼈다.   프로필 탭으로 이동해서   내 프로필에서 오른쪽 상단에 설정 버튼이 있고 그걸 클릭하면   프로필 설정들이 있고 거기서 옵션들을 비활성 해주자   “프로필 인증배지 표시”, “내 프로필 검색”, “내 홈 표시” 모두 비활성 해줬다.   솔직히 앞으로 이번 사태 이전으로 롤백을 시키지 않는한 앞으로 프로필에 사진을 올릴거 같지 않다.   이미 앱은 배포가 되었고   이 사태가 벌어진 버전의 앱을 업데이트 하지 않고 사용하는 사람들이 많을것이다.   (보통은 앱을 배포 하고 강제로 업데이트 유도하지 않는 이상 앱을 업데이트 하지 않는 사람들이 많다.) 만약에 더 프로필 공개에 공포를 느낀다면 프로필에 올린 이미지들을 당장 지우자.   *추가* 숏폼과 오픈채팅을 합쳐놓은 것도 참 거지같은 짓을 한거라고 생각한다.   오픈채팅에 개발이나 다이어트나 여러가지 같은 관심을 가진 사람들이 단체 톡방에 들어가서 커뮤니티를 하고 계실거다.   나도 개발 단체톡방에 들어가서 대화를 하는데   왜 그걸 합쳐놔서   오픈채팅을 들어가기 위해서 무조건 숏폼을 강제로 봐야 한다는 건 참 별로다.   *추가 2* 벌서 온갖 야시시 하고 폭력적인 숏폼에 노출되고 있...

opengl 텍스트 처리 freetype 라이브러리 iOS 에 포팅

  1. 홈페이지
  2. 아래 링크에서 최신 라이브러리 파일을 다운로드 , 또는 검색
    1. .tar.bz2 파일
    2. 구글 드라이브 문서와 동일 경로에 2.6.2 (2016.2 월 업데이트) 버전 업로드 해놨음


  1. 압축을 해제하고 , 터미널을 열어서 그 폴더로 이동
  2. i368 라이브러리 파일 (.a) 생성 과정
    1. 아래의 입력과정에서 $ 뒷 부분 텍스트 붙여 터미널에 복사/붙여넣기 해서 사용을 하면 된다. $ 을 넣으면 에러 발생함

순서대로 입력 하면 내부에 objs 폴더 내부에 .o 파일들이 생성이 된다. (objs 폴더는 내부에 있다.)

$ ./configure CFLAGS="-arch i386";make clean;make
$ cp objs/.libs/libfreetype.a libfreetype-i386.a

라고 입력 하면 내부폴더에 해당 파일이 생성됨

  1. x86_64
    1. x86_64 은 armv7 와 동일한 아키텍처다.
    2. 그래서 x86_64 방식으로 하거나
    3. 아래의 armv7 방식으로 진행 가능

$ ./configure CFLAGS="-arch x86_64";make clean;make
$ cp objs/.libs/libfreetype.a libfreetype-x86_64.a

  1. armv7
    1. armv7 버전 빌드 부터는 iPhoneOS 를 사용하는데 그 경로를 넣어준다
    2. 빌드시 에러가 발생하는데
    3. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ 경로로 들어가서 실제 있는 버전으로 변경을 해줘야 한다
    4. 문서 작성 시의 최신 버전은 9.3 버전이라서 iPhoneOS9.3.sdk 로 변경을 해줬다.

$ ./configure --prefix=/build-armv7 --host=arm-apple-darwin --enable-static=yes --enable-shared=no CPPFLAGS="-arch armv7 -fpascal-strings -Os -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=8.0 -I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/include/libxml2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk" CC=`xcrun -sdk iphoneos -find clang` CFLAGS="-arch armv7 -fpascal-strings -Os -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=8.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk" LD=`xcrun -sdk iphoneos -find ld` LDFLAGS="-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -miphoneos-version-min=8.0" AR=`xcrun -sdk iphoneos -find ar`;make clean;make

$ cp objs/.libs/libfreetype.a libfreetype-armv7.a

  1. armv7s
    1. armv7s 와 arm64 의 아키텍처는 동일
    2. armv7s 방식으로 하거나 아래의 arm64 방식 중 하나를 택해서 진행

$ ./configure --host=arm-apple-darwin --enable-static=yes --enable-shared=no CPPFLAGS="-arch armv7s -fpascal-strings -Os -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=8.0 -I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/include/libxml2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk" CC=`xcrun -sdk iphoneos -find clang` CFLAGS="-arch armv7s -fpascal-strings -Os -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=8.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk" LD=`xcrun -sdk iphoneos -find ld` LDFLAGS="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -miphoneos-version-min=8.0" AR=`xcrun -sdk iphoneos -find ar`;make clean;make

$ cp objs/.libs/libfreetype.a libfreetype-arm7s.a

  1. arm64

$ ./configure --host=arm-apple-darwin --enable-static=yes --enable-shared=no CPPFLAGS="-arch arm64 -fpascal-strings -Os -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=8.0 -I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/include/libxml2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk" CC=`xcrun -sdk iphoneos -find clang` CFLAGS="-arch arm64 -fpascal-strings -Os -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=8.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk" LD=`xcrun -sdk iphoneos -find ld` LDFLAGS="-arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -miphoneos-version-min=8.0" AR=`xcrun -sdk iphoneos -find ar`;make clean;make

$ cp objs/.libs/libfreetype.a libfreetype-arm64.a

  1. arm6
    1. arm6 는 아이폰 3gs 이전 기기의 지원을 위해서 필요
    2. iOS 8 이상 지원이면 별도로 빌드할 필요는 없음
  2. 모든 파일의 마지막 결과에 아래와 같이 나오면 .a 파일이 정상적으로 생성된 것
    1. 그리고 cp 명령에서 에러가 나지 않으면

libtool: link:

  1. 유니버셜 라이브러리 파일로 통합

$ lipo -create libfreetype-i386.a libfreetype-armv7.a libfreetype-arm64.a -output libfreetype.a

  1. 아키텍처 확인

lipo -info libfreetype.a

  1. iOS 프로젝트에 추가 시 주의 사항 몇가지
    1. 방금 생성한 .a 파일을 프로젝트 내부에 위치 시키고
      1. 기존 framework 추가 방법과 동일하게 프로젝트에 import
    2. 먼저 include 폴더 채로 그 안에 들어 있는 header 파일들을 프로젝트에 추가
    3. libz 라이브러리를 import 해주자

이 블로그의 인기 게시물

애드몹 계정 정지 최대한 방지 하는 방법 (나의 생각)

아직까지는 앱에서 계정 정지가 당하는 사태가 오지 않았지만   주변에 애드몹 계정 정지를 당하는 사태가 아직도 빈번하게 발생을 해서 글을 적어 본다.   1. 테스트 광고 id 사용  ! https://developers.google.com/admob/ios/test-ads?hl=ko   위 사이트 보며 데모 광고 id 가 광고 종류 별로 존재한다.   앱코드에서 개발 모드와 배포 모드로 분기를 할 수 있다면   개발 모드에서는 저 데모 광고 id 를 적용해서 항상 어느 상황이던 데모 광고가 표시되도록 하는게 좋지 않을까 싶다.   2. 테스트 디바이스 id 사용   앱 빌드 하면 로그 창에 테스트 디바이스 id 를 등록하라고 특정 글자가 표시된다.   그걸 아래와 같은 함수에 적용 해주면 테스트 광고가 표시된다.   GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers   예전 광고 UDID 이슈가 없을 때는 괜찮았는데   요즘은 저 거만 너무 믿으면 저거 적용하기 전에 일반 광고가 표시될 가능성이 높고   저게 주기적으로 빌드하면서 랜덤하게 계속 바뀌어서 엄청 불편하다. 그래서 나는 어느 순간 부터는 저거는 그냥 무시하고 안쓰는 편이고 다음 테스트기기 등록을 하는 편이 더 좋다.   3. 테스트 기기 등록  !!! 애드몹 웹사이트로 이동하면   좌측 메뉴 중에 “설정” - “기기 테스트” 항목에 애플/안드로이드 기기의 광고 ID 를 등록할 수 있다.   등록을 하면 앱 실행 시 바로 광고 ID 가 표시된다.   iOS 경우에는 IDFA 허용 팝업 이후에 테스트 광고가 표시되니까   개인적으로 iOS 개발의 경우에는 처음 앱 실행하고 광고 요청 자체를 IDFA 광고 팝업 후에 하는 것도 좋지 않을까 싶다.  ...

애드몹(AdMob) 앱 광고 수익 2023년 1월 $4000

애드몹(AdMob) 앱 광고 수익 2023년 1월 2023 년 새해 첫 애드몹 수익이 나왔습니다.  저번달 보다 클릭 수는 증가했는데  수익은 줄어든게 좀 인상 깊내요.  전반적으로 대부분의 항목이 많이 줄어들었습니다. 

애드몹(AdMob) 앱 광고 수익 2023년 3월 $3748

 애드몹(AdMob) 앱 광고 수익 2023년 3월 저번 달과 광고 수익이 거의 비슷합니다.  클릭 수는 저번달에 비해서 17% 줄었지만 광고 수익은 소폭 상승했습니다.  광고 단가가 높았거나 리워드 광고 영향일 수도 있겠습니다.