[App Store Connect 유료앱 계약-2] 미국 세금 설문지 작성-U.S. Form W-8BEN 작성법

이미지
앞서 대한민국 세금 양식을 무사히 잘 작성하였다. 내가 미국에서 앱으로 뭐 큰 돈을 벌 것도 아닌데, 미국 세금 설문지까지 작성해야 하나 싶지만... 미국 세금 양식은 애플과 거래하는 한 필수로 작성되어야 하는 부분이다.  이제 진행해보자. 1. 세금 양식에서 '미국 세금 설문지' 클릭 :  -미국 거주자가 아니므로 '아니오' 선택 후 다음 -미국 내 사업이 아니므로 '아니오' 선택 후 다음 2. 'U.S. Certificate of Foreign Status of Beneficial Owner' 클릭 : 이름, 주소, 메일, 소유자 이름 등 입력 -체크박스 체크하고, Title 은 내 사이트 제목 등 자유롭게 입력 후 제출 3. 'U.S. Form W-8BEN' 클릭 : 뭔지 몰라서 검색을 많이 했는데, 별거 아니었음. 영어울렁증일 뿐.. -Part I 은 그대로 두고 -Part II, Part III만 체크하고 제출 4. 제출 후 '활성화' 됨 5. 계약상태도 '처리중' 이었다가 '활성화' 됨 이렇게 미국 세금 설문지 작성까지 잘 마쳤다.  이제 새로운 앱들을 잘 업로드하면 되겠다.  그런데, 문제는 Google Play Console... ㅠㅠ 지난 2년간 가끔씩 들어가보고 앱 업데이트가 없다보니 계정폐쇄.. 구글 서포터와 메일로 오늘 하루종일 상담을 하였으나..  App Store Connect 는 앱 업데이트 할때 좀 까다로운 면이 있었지만, 개발자 계정은 잘 보존해주는 것 같다. "언제든지 돌아와" 이런 느낌... Google Play Console 도 마찬가지로 계약사항 업데이트로 여러가지 정보를 수정 중이었는데, 소유자/은행/주소까지 다 인증했는데, 오늘 새벽에 계정폐쇄 해버림. 결국 개발자 계정을 다시 생성하여야 하고, 등록도 다시 해야 한다. Google Play Console 은 다시 시작하는 느낌으로 진...

[App Store Connect 유료앱 계약-1] 사업자등록번호/통신판매업신고번호

이미지
일이 바쁘다는 이유로 한동안 들어가지 않았던 App Store Connect..  개발자 계정을 수정하지 않으면 계정과 앱을 삭제할 수도 있다는 메일이 와서 들어가 봤더니, 앱스토어 정책 변경으로 모든 앱개발자는 사업자등록번호 또는 통신판매업신고 번호를 입력해야 인앱 결제가 가능하다고 한다.  난 쌩 초보라... 무료앱 올린 것만으로도 만족하고 있었는데 인앱 결제라니... 유료앱도 없는데. 물론 무료앱만 취급할 것이라면 안해도 상관 없겠지만.. App Store Connect 들어갈 때마다 뭔가 주의 표시가 자꾸 떠있어서 안할 수가 없다. 어쨌든 세금양식에 위 두가지가 필요하다고 하니 준비를 해야한다. 그리고 유료앱 출시를 할지도 모르는 그 날을 위해 미리 한다고 긍정적으로 생각해본다.. 일단, 순서대로 진행해본다. 1. (개인)사업자등록번호 신청 : 국세청 홈텍스에서 신청 (사업자유형 : 일반 / 종교단체여부 : 부) -24시간 이내에 사업자등록번호 취득 후 2. 통신판매업신고 : 정부24에서 신청 (통신판매업신고-시,군,구) -업체정보(사업자등록번호)와 대표자 정보 작성 후  -판매방식과 취급품목을 기타로 체크하고 '애플리케이션' 입력 -구비서류에 구매안전서비스 비적용 대상 확인서 작성하여 업로드 ( 구글이나 애플 등 마켓을 통해 결제가 이루어지므로 법률상 비적용 사유에 해당) -수령방법 선택(온라인발급 선택하면 PDF로 다운로드 가능) 후 신청 -24시간내 문자 도착하면 ETAX에 면허세 납부 -24시간 이내 통신판매업 신고증 취득 (표시한 부분이 통신판매업 번호임) 3. App Store Connect의 "비즈니스"로 들어가서 '유료 앱 계약 서명' 클릭 : 이용약관 동의 4. '세금양식추가' 클릭 : 미국, 대한민국만 선택할 것이므로 취소 클릭  5. '은행계좌추가' 클릭 : 해당 항목들 입력, 은행코드 (여기서 참고) 입력, 이용약관 동...

[R studio] pkg 설치 오류시 대처법

이미지
R 설치 후 R studio에서 여러가지 패키지를 설치하다가 막히는 경우가 있다. 이럴땐 역시 당황하지 않고 구글링... (M1 or M2 사용자는 Intel용 R을 사용하면 만사 해결되니 참고) 급한대로 정리한 방법들이고, 다른 방법들이 있다면 수정할 계획임. 1. made4 pkg 설치 if (!require("BiocManager", quietly = TRUE))   install.packages("BiocManager") BiocManager::install("made4") 2. Presto pkg 설치  install.packages(“RPresto”) or  3. ComplexHeatmap pkg 설치 if (!require("BiocManager", quietly = TRUE))     install.packages("BiocManager") BiocManager::install("ComplexHeatmap") 3. limma pkg 설치 if (!require("BiocManager", quietly = TRUE))     install.packages("BiocManager") BiocManager::install("limma") 4. nichenetr png 설치 install.packages("devtools") devtools::install_github("saeyslab/nichenetr") 5. PPInfer pkg 설치 if (!require("BiocManager", quietly = TRUE))     install.packages("BiocManager") BiocManager::install("PPInfer") 6. DESeq2 pkg 설치 if (!require("Bio...

[Apple Developer 조치 필요: Distribution 인증서가 30일 후에 만료됨] 메일이 왔을때 대처법

이미지
  갑자기 이런 메일이 날아오면 참 당황하게 된다. 아직은 초보라 이런 메일들은 무섭...  1. 하지만 전문가(?)답게 당황하지 않고 과감하게 Apple Developer에 로그인을 하고, 2. 인증서, 식별자 & 프로파일 탭에 들어가면, 저렇게 날짜가 임박한 인증서가 보인다. 3. 만료될 인증서를 클릭하고 들어가서, 취소(Revoke) 버튼을 누르면    진짜 취소하겠냐고 물어본다. 진짜 취소해야지... 안그럼 앱 업데이트를 할 수 없는걸... 4. 취소버튼을 과감히 다시한번 누른다. 5. Xcode를 실행하고, 메뉴에서 Preferences를 클릭한다. 6. Accounts탭에 들어가서 Manage Certificates를 클릭 7. 왼쪽 아래 +를 눌러 Apple Distribution을 클릭하면 오늘 날짜로 인증서가 생성된다.  의외로 간단...? 8. Done을 눌러 나온 후에 다시 Apple Developer에 돌아가서 인증서페이지를 확인하면, 삭제되었던 Distribution 인증서가 오늘 날짜로 생성되어 있는 것을 확인할 수 있다. 어디선가 메일이 날아와도 당황하지 말고 차분히 하다보면, 진짜 의외로 간단하고 쉽게 해결됨을 경험할 수 있다.  약간은 귀찮을 수 있지만 이 작업은 1년에 한번씩 해줘야한다. 그리고, Apple Developer Program Membership도 해마다 갱신... ^^

[Flutter] CocoaPods’s specs repository is too out-of-date 오류

  Error : CocoaPods 's specs repository is too out-of-date to satisfy dependencies. To update the CocoaPods specs, run: pod repo update Error running pod install Error launching application on iPhone 12 Pro Max. flutter 프로젝트 하나를 새로 만들기 시작하고 run을 했더니... cocoapods 저장소가 오래되었다는 오류가 발생... 여태 잘 쓰던 안드로이드 스튜디오인데. 멘붕. 오류 메시지의 지시에 따라 업데이트 명령을 실행해도 예상대로 작동하지 않음... ㅠㅠ pod repo update 늘 그렇듯 당황하지 말고 다음의 단계들을 시도해본다(구글링한 결과들의 합체). 1. 프로젝트의  /ios  디렉토리  에서  Podfile.lock  파일을  삭제. (lock 파일이 생성되지 않은 경우 다음단계로) 참고  : "Podfile.lock"은  "flutter run" 명령으로 자동 생성되는데, 맨위와 같은 오류로 생성되지 않을 수도 있다. 하지만 단계별로 명령들을 실행하면 결국 생성된다. 2. 또한  ios  폴더에서 다음 명령을 실행. pod install -- repo - update 이 명령은 CocoaPods 사양을 업데이트하게 된다. 3. 프로젝트의 루트 디렉터리로 돌아가서 다음을 실행. flutter clean 이 명령은 dart-tools 폴더, android 폴더, iOS 폴더에 임시 파일이 자동으로 생성될 때 애플리케이션 실행 시 생성되는 빌드 캐시를 지운다. 4. 마지막으로 다음을 실행. flutter run 5. 그래도 Podfile.lock 파일이 생성되지 않는다면(cocoapod을 재설치해도 해결되지 않고, cocoapod을 정상적으로 인식하고 있는 상태라면) :...

[Unable to find bundled Java version =>Mac Flutter Android Studio Arctic Fox 2020.3.1] flutter doctor -v 실행시 안드로이드 스튜디오 오류 메시지 해결

이미지
Terminal:  flutter doctor -v 명령실행시 (flutter upgrade 후) Processing method: 터미널에서 다음 명령어를 차례로 실행 cd /Applications/Android\ Studio.app/Contents/jre ln -s ../jre jdk ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk Perfect result: " Unable to find bundled Java version" 메시지가 사라짐

[react-native]앱이 꺼져도 데이터를 보존하는 방법

이미지
   앱을 완전히 껐다가 켰을 때, 다시 로그인해야 하면 참 귀찮아진다. 사용자들의 편의를 위해서 요즘 앱들은 껐다가 다시 켜도 로그인되어 있는 화면을 다시 보여주곤 한다. 그렇게 할 수 있는 것은, 앱이 꺼지기 직전에 사용자가 로그인이 되어 있었는지 체크 한 후, 로그인한 적이 있으면(아직 로그아웃하지 않았다면) 바로 메인 화면으로 보내는 로직을 사용하기 때문이다.  그러기 위해선, 앱이 꺼져도 저장/관리한 데이터는 계속 사용할 수 있는 AsyncStorage 를 사용해야 한다. 1. vscode 터미널에서 A syncStorage 설치하기. expo install @react-native-async-storage/async-storage AsyncStorage는 react-native에서 가져와 사용할 수 있는 라이브러리로, 주로 이럴 때 사용한다.   1) 로그인 후 앱을 껐다 켰다 ⇒ 로그인이 되어 있으면 바로 메인 화면 보여주기   2) 글을 작성하다 페이지를 이탈했다 ⇒ 작성 중이던 글을 가져오기   3) 사용자가 좋아요를 눌렀던 게시글이 있다 ⇒ 매번 서버에서 가져오지 않고, AsyncStorage에서 꺼내 관리하기  이렇게 앱이 꺼져도 보존되면 편리한 데이터들을 AsyncStorage에 담아 관리하곤 한다. 2. A syncStorage 사용하기. 로그인했을 때 AsyncStorage 통에 로그인한 사용자 이메일을 저장한다. 그럼 이 통을 살펴볼 때 사용자 이메일이 있으면 로그인 한 적이 있다는 뜻이고, 로그아웃했을 때 AsyncStorage 통에 든 이메일을 지운다. 그럼 로그아웃 시 이 통을 조사했을 때, 아무것도 안 나오는 것이다. 순서로 살펴보자면,   1) SignInpage 에서 화면이 그려진 다음 useEffect 가 실행된다   2) useEffect 에서 AsyncStorage 속 session...