본문 바로가기

전체 글76

@pulse vs distinctuntilchanged 안쓰는거 차이 https://phillip5094.tistory.com/106 [ReactorKit] @Pulse 안녕하세요. 요즘 업무가 많아서.. 글 쓰는 게 좀 뜸했네요...ㅠㅠ 늦었지만, 이번에는 ReactorKit의 @Pulse 라는 property wrapper에 대해 알아볼게요. (이전 [ReactorKit] ReactorKit 입문 글에서 사용했던 Counter phillip5094.tistory.com "State 이벤트 받을 때 distinctUntilChanged를 사용 안 하면 Pulse property wrapper랑 똑같이 동작하는 거 아님??" 아쉽지만 틀린 생각입니다. distinctUntilChanged를 사용하지 않았을 때 State의 특정 프로퍼티가 값이 변하거나 새로 할당될 때만 이.. 2024. 4. 2.
스크린샷 캡쳐시 컨텐츠 내용 안보이게 숨기기 (제스쳐 동작 가능 버전) 예~~전부터 스크린샷 캡쳐시 컨텐츠 내용이 보이지 않게 처리해달라는 요구사항이 있었는데, 앱에서 감지할 수 있는 이벤트라고는 찍고 나서!(Did) 밖에 없었다. UIApplication.userDidTakeScreenshotNotification 그래서 현재 개발중인 앱에서는 스크린샷을 하고나서 안내 알럿을 띄워주고 있었는데, 최근에 시간이 남아서(사실은 다른거 미루고..ㅎ) 생각이나서 검색해보니까 야매로 방법이 있었다. iOS 13버전대부터 스크린샷이랑 스크린레코드시 isSecureTextEntry 가 true면 정보가 노출되지 않는데, 그 기능을 약간 야매로 돌려돌려 만들었다. Prevent screen capture in an iOS app I need to prevent screen capture.. 2022. 1. 25.
xcode 13.2.1 에서 iOS 12 디바이스 빌드시 크래시 이슈 와 화가 난다 아래와같은 메세지 뜨면서 12의 런치 화면에서 크래시 발생하는 이슈 확인함 구글링시 해당 이슈 발생하므로 13.1로 xcode 다운그레이드 하여 사용하라는 다수 리포트 https://developer.apple.com/forums/thread/696960 After upgrading to Xcode 13.2.1, d… | Apple Developer Forums I have the same issue, also on Xcode 13.2.1. Our app compiles for iOS 12 and runs in simulator, but crashes on a real device with the same error that OP posted. developer.apple.com dyld:.. 2022. 1. 20.
cocoapods xcode12 Building for iOS simulator, but linking in dylib... 에러 facebook sdk, naver sdk 가 오래된 버전을 쓰고 있어서 가장 최근 버전으로 업데이트를 하는 과정에서 저 에러를 발견했다. private pod을 dependency 를 사용하여 개발중이어서.. stackoverflow에 나와있는대로 설정을 바꿔줘도 계속 에러 발생했다. xxxx.podspec파일에 아래와 같이 라인 추가하면 정상적으로 된다. Pod::Spec.new do |s| .... s.dependency 'FBSDKLoginKit', '~> 11.2.0' s.dependency 'naveridlogin-sdk-ios', '~> 4.1.3' s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' } s... 2021. 9. 13.
git 태그 정리 remote 에 tag가 없으면 local tag 삭제 git tag -l | xargs git tag -d && git fetch -t 출처 : https://demisx.github.io/git/2014/11/02/git-prune-local-tags-dont-exist-remote.html 2021. 6. 25.
Gitlab CI 시 이중인증 에러(2FA) gitlab ci로 편하게 앱 업로드 하다가 오랜만에 실행하려니 에러가 났다.. 이중인증 관련 에러.. 이중인증 코드가 갔는데 interactive 하게 6자리 코드를 입력하지 않아 실패.. 예전에 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 설정 다 해줬었는데.. 코드가 만료된것도 아니었는데 되지 않아서 spaceship으로 갈아탐 upload_to_appstore: stage: deploy when: manual allow_failure: false # variables: # FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: "" script: - fastlane spaceauth -u [애플아이디] --copy_to_clipboar.. 2021. 6. 17.
UISwitch 버그 개발하던중에 콘솔에 아래와같은 메세지 출력 확인 invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution. 검색해보니 UISwitch의 버그로 확인된다는 답변 확인! 무시해도된다. https://stackoverflow.com/questions/56980875/what-does-invalid-mode-kcfrunloopcommonmodes-mean 2021. 6. 9.
NSPredicate 요상한 버그.. CoreData의 데이터를 조회하기 위해 아래와 같이 쿼리문을 작성했다. NSPredicate(format: "pid == %@ AND no == %i", pid, no) 근데 올바른 데이터가 조회가 계속 안되고있었다.. 왜지? 혹시 데이터가 안들어갔나 ? 이러면서 데이터 조회도 다 해봤는데 정상적으로 들어가있었다.. 혹시나 하는 마음에 predicate를 출력해봤는데 "pid == 작품코드 AND 0 == 28" 이런식으로 출력되고있었다...';;;; "no" 텍스트를 predicate 내에서 0으로 해석하고 있었다 ;; no는 예약어인가보다. 2021. 6. 2.
Go에서 Redis 사용하기 Go에서 Redis 사용하기 Client 선정 go-redis : https://github.com/go-redis/redis 장점 : 문서화가 잘되어있고 쓰기가 편함 단점 : 확장성이 낮다(내가 사용하고 싶은 명령어가 없을 수도..) Redigo : https://github.com/gomodule/redigo 장점 : 확장성이 높다(명령어 내가 쓰고싶은거 다 쓸수있음) 단점 : 문서화가 잘 안되어있고, 타입 변환 등 불편한 점 존재 https://godoc.org/github.com/gomodule/redigo/redis) 사용 예 package main import ( "log" "net/http" "github.com/gomodule/redigo/redis" "github.com/labstack/.. 2021. 2. 15.
redis 기본 명령어 명령어 set [key] [value] : 데이터를 저장할 때 get [key]: 저장된 데이터를 검색할 때 rename : 저장된 데이터 값을 변경할 때 randomkey : 저장된 key 중에 하나의 key를 랜덤하게 검색할 때 rename 1113 1116 : 키 1113을 1116으로 변경 keys [pattern]: 저장된 모든 key를 검색할 때 keys * : 모든 키를 검색 keys *2 : 2로 끝나는 모든 키를 검색 exists [key] : 검색대상 key가 존재하는지 여부를 확인할 때 strlen [key] : key에 해당하는 value의 길이 mset/mget [key] [value] .... : 여러개의 key와 value를 한번에 저장하고 검색할 때 flushall : 현재 .. 2021. 1. 14.
Redis 설치 with docker 레디스 공홈 : http://redisgate.kr/redis/education/docker_intro.php (설명 잘되있음👍) Docker 실행 open --background -a Docker open --background -a Docker 레디스 이미지 받아오기 Docker image pull redis Docker image pull redis redis는 기본적으로 6379 포트를 사용한다. ⇒ Dockerfile에서 EXPOSE 6379 로 되어있음! Docker network 구성 바로 서버를 run하면 되지만, redis-cli도 같이 구동해서 통신해야하므로 2개의 컨테이너를 실행하여야하며, 그 두개의 컨테이너의 연결을 위하여 docker network 구성을 해야한다. docker n.. 2021. 1. 14.
Redis의 개념 Redis란 메모리 기반의 NoSQL의 Key-Value DB 한 종류 REmote Dictionary Server의 약자 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 비관계형 데이터 베이스 다양한 데이터 타입을 지원함(Set, Hash..) 데이터는 메모리와 디스크에 저장되서, 불의의 경우에도 데이터 복구가 가능 ⇒ 삐까뻔쩍한 말로.. 복제 및 지속성을 가진다고 합니다. 나중에 나올 개념인 마스터-슬레이브 아키텍쳐를 사용하여 비동기식 복제를 지원하여 데이터가 여러 슬레이브 서버에 복제될 수 있습니다. 이렇게 하면 주 서버에 장애가 발생하는 경우 요청이 여러 서버로 분산될 수 있습니다. Java, Python, PHP, C, C++, C#, JavaScript, .. 2021. 1. 14.
브랜치 이름 변경하기 버전별로 폴더의 개념을 가지고 하위에 브랜치를 추가하고 있었다. 아래와 같은 구조..! * master * develop * version - 3.10.0 -issue-0 -issue-1 근데 이게 버전으로 명시를 하다보니 가끔 핫픽스가 나가야하거나 버전이 변경될 때 저거를 또 새로운 브랜치로 파야해서.. 매우 복잡했다 그래서 브랜치 이름을 바꾸는 방법을 찾아보게 됬다. 1. 일단 로컬 브랜치의 이름을 변경한다. working directory가 변경하고자 하는 브랜치로 설정되어있다면 git branch -m new-name 만약 다른 브랜치에서 작업하고 있다면 (a브랜치에서 b브랜치를..) git branch -m old-name new-name 2. 예전 이름의 remote 브랜치를 새로운 이름의 로.. 2020. 7. 10.
새로운 빌드가 AppstoreConnect에 뜨지 않는 이슈 아니 애플 왜구래 ㅠㅠ https://littleshark.tistory.com/64 No suitable application records were found., No .app bundles found in the package 이슈 오랜만에 앱을 업데이트 하기 위하여 Archive하고 Validate까지 다 해서 문제없다고 판단하고 Appstore로 Distribute 하는데, 별안간 보지 못했던 에러가 발생했다. 1. iTunes Store operation failed. No suitabl.. littleshark.tistory.com 이 이슈를 겪고 나서 성공적으로 업로드를 했는데 원래 활동내역에 처리중이 떠야하는데 뜨지 않았다.. 구글링 ㄱㄱ https://developer.apple.com.. 2020. 7. 9.
No suitable application records were found., No .app bundles found in the package 이슈 오랜만에 앱을 업데이트 하기 위하여 Archive하고 Validate까지 다 해서 문제없다고 판단하고 Appstore로 Distribute 하는데, 별안간 보지 못했던 에러가 발생했다. 1. iTunes Store operation failed. No suitable application records were found. Verify your bundle identifier ‘org.cocoapods.Alamofire’ is correct. 첫번째로 마주했던 에러메세지였다. 구글링해보니까 뭐,, bundleidentifier를 수정해라, app을 새로 하나 등록해라, cocoapod를 재설치해봐라 등등 나와서 해봤다. 참고로 cocoapod 재설치를 하고 나니 아까와는 다른 이슈가 발생했다. (아 재설.. 2020. 7. 9.
반응형