일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- appstore
- geofencing
- 웹뷰
- Git
- Xcode
- UIButton
- JPA
- error
- iOS16
- 한글
- 개발자
- mac
- SwiftUI
- Swift
- IOS
- window
- Realm
- view
- Session
- Archive
- MacOS
- Firebase
- Notification
- darkmode
- Apple
- 이미지
- FLUTTER
- rxswift
- Code
- github
- Today
- Total
목록분류 전체보기 (269)
EEYatHo 앱 깎는 이야기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ctA0QF/btrUvXnAMdT/72iQXYSubRyB3fK81kTuI1/img.png)
요약 사내 모든 테스트 케이스 및 환경에서는 애플 로그인 정상 작동함. 애플측에 테스트 계정을 바꿔달라는 요구 + 전화 요구함. 이틀 뒤에 전화왔고, 테스트 계정 바꾸었더니 정상 작동하고, 심사 통과라고함. 애플 계정의 문제인지, 인증 서버의 문제인지는 불명확하다고 함. 시나리오 사내 앱이, 애플 로그인시, 이메일을 추가로 수집하고 있었고, 반려당했다. Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage 애플 로그인을 했으면, 추가적인 데이터 수집없이 앱 이용이 가능해야한다. 그래서 회의결과, private relay email 을 사용하는 쪽으로 작업했고, 다시 심사를 넣었다. 그런데 이번엔. 애플 로그인이 안된다고 앱이 반려당했다. Gui..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GO33u/btrhhTqHwik/AoU73r61EbHGR6o9oQcBm0/img.png)
tableView.reloadRows(at: [indexPath], with: .none) 해당 코드에서, witth부분(애니메이션부분)은, none을 제공하고 있지만, 실제는 automatic과 동일하게 작동한다 ㅡㅡ 일해라 애플.... 애니메이션 없이 reloadRows를 하고 싶다면, 애니메이션들을 명시적으로 비활성화 할 수 있는 UIView.performWithoutAnimation를 사용하면 된다. UIView.performWithoutAnimation { tableView.reloadRows(at: [indexPath], with: .none) }
명령어 실행 전에, 다른 브랜치(원격 브랜치를 나두면 best)들이 원래 자리에 남아있어야 한다. 안그러면 커밋히스토리 다 사라짐. git reset [비교하고 싶은 커밋ID] 해당 명령어를 하게되면, 원하는 (과거)커밋으로 이동하며, 소스 코드들은 그대로 남아있고, 이동하기 전 커밋과, 이동한 후 커밋의 변경사항들이 unstage상태로 남아있게 된다. 이제 SourceTree나 tig 같은 것들로 어떤 변경사항이 있는지 체크할 수 있다. 체크한 뒤 다시 원래자리로 돌아가면 끝. git reset [원래 커밋ID]
1. 원격 브랜치 삭제하기 브랜치명에 origin을 붙히지 않는다. git push origin --delete [브랜치명] 2. 로컬 브랜치 삭제하기 마찬가지로 origin을 붙히지 않는다. git branch -d [브랜치명] 로컬, 원격 다 삭제하고 싶으면 위 2개를 실행하면 된다. git push origin --delete [브랜치명] git branch -d [브랜치명] 3. 로컬 브랜치 생성하고, 원격에도 생성 git branch [브랜치명] git push origin [브랜치명]
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cdHtrs/btrg4KmsVYq/zAeSK0pRB0aIiLS7TGUPnk/img.png)
Xcode 12.4 사용중인데, iOS15 실제 아이폰, 아이패드에서 디버그가 안된다 ㅡㅡ iOS14.4 시뮬에서는 된다. 구글링해보니 Xcode랑 iOS 버전 매칭 문제인듯하다. ( _dyld_process_info_create 함수의 구현이 바뀌었단다.. ) 해결방법 settings set plugin.process.gdb-remote.packet-timeout 300 1. 홈디렉토리에 .lldbinit 파일 만들고, 위 코드를 넣어준다. 이 방법은 근본적인 해결책이 아니라, 그냥 오래 기다린다는 거다. 나 같은 경우, 에러 메세지도 안뜨고 그냥 쭉 무반응이더라. 근본적인 문제는 디버그 하는데에 시간이 겁~~나 걸리게 된 것이다. 한무루프..? 2. 버전에 맞는 Xcode를 사용한다. 지금 13버전이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/83Kxg/btrg1KBcn3w/N4XfpUJvJTyTPjT8469Jlk/img.png)
1. Xcode 자체적으로 지원해주는 기능을 사용한다. Product -> Clean Build Folder 하지만,, 완벽하게 지워지진 않는다. 2. 직접 남아있는 찌꺼기를 지운다. 경로 : ~/Library/Developer/Xcode/DerivedData/* CMD로 가능 rm -rf ~/Library/Developer/Xcode/DerivedData/* 직접 찾아가서 지우기 가능 ( 라이브러리 폴더가 안보이면 커맨드+쉬프트+. 을 입력하면 숨김폴더가 보인다. )
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cq4wfv/btrgUoew3Gj/Ht6LQKryE1GRfeJFOnfpok/img.png)
애플로그인 -> 이메일 가리기 선택시, 앱에는 xxxx@privaterelay.appleid.com 형태의 이메일이 온다. ( privaterelay email ) pricaterelay email로 이메일 전송시, Apple에서 정상 email로 포워딩을 해주는데, 발신자가 등록된 도메인 or 이메일이어야 한다. 관련된 자세항 사항은, 아래 애플 문서 참고! Apple Developer Documentation developer.apple.com 발신 도메인 및 이메일 등록하기 애플 사이트 -> Cerificates, Identifiers & Profiles -> 좌측 메뉴에서 More 선택 -> Configure 선택 도메인이나 이메일을 등록하기위해, + 버튼 선택. 그럼 위와같은 화면이 나오는데, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ef2nAD/btrgQBjFDvd/gLP9lAleR3bkDosFO2j2sK/img.png)
언제부턴가 막혀서 해당 꼼수로 email 받아올 수 없게 되었따.. 애플로그인시 해당 함수로 콜백되며, email을 포함한 각종 유저 정보를 얻을 수 있다. func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) { guard let credential = authorization.credential as? ASAuthorizationAppleIDCredential else { return } let email = credential.email let user = credential.user var authCode = "" if l..