본문 바로가기

DEV

Admob 광고 안나오는 문제 수정 IOS에서는 아래와 같은메세지가 code: 1, domain: com.google.admob, message: Request Error: No ad to show 안드로이드에서는 아래와 같은메세지가 Android: code: 3, domain: com.google.android.gms.ads, message: No ad config 나오면서 admob 광고가 나오지 않았다. app-ads.txt파일을 추가하지 않아서 나왔던 문제 구글 플레이나 앱스토어에 등록된 도메인 홈페이지 상단에 app-ads.txt파일을 만들고 내용을 채워넣는다. 자세한 내용은 애드몹 홈페이지 > 앱> app-ads.txt에 가면나와있다. app-ads.txt파일에 내용을 추가하고 홈페이지 배포한후 다시 애드몹으로와서 업데이트를 시.. 더보기
파이어베이스 에뮬레이터 (firebase emulator) 실행 문제 파이어베이스 에뮬레이터 로컬에서 실행중 발생했던 문제와 해결법을 정리해봤다. firebase storage rule파일을 세팅 firebase storage 에뮬레이터를 할경우 rule세팅을 해줘야한다. storage rule 파일을 작성해준다. storage.rules 파일을 만들고 내용을 추가해준다. rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } } firebase.json 에 스토리지 rule 파일 경로를 작성해준다. { "functions": { "source": "functions" }, "s.. 더보기
IOS SImulator Unable to boot the simulator 현상 해결 언제가부터 가끔 ios 시뮬레이터를 실행하면 Unable to boot the simulator라는 메세지와 함께 실행이 안된다 이럴때 해결법은 아래와 같다. 촤측 상단 사과아이콘을 누르고 이 MAC에 관하여를 클릭 > 저장공간 탭 클릭 > 관리 클릭 개발자를 누르고 머든 컨텐츠를 삭제한다.(내용은다지워도 상관이 없다.) 그후 다시 에뮬레이터를 키면 정상 작동한다. 출처 https://stackoverflow.com/questions/72229589/flutter-xcode-error-unable-to-boot-the-simulator 더보기
[FLUTTER] IOS 구글 로그인 (google sign in) 취소시 앱 크래쉬 최근 IOS 앱심사에서 거절을 받았다. 아래는 애플 심사 거절 이유 1. Launched the app 2. Tapped on Google login 3. Tapped on “Continue” 4. Tapped on “Cancel” 5. Then the app crashed 테스트 해보니 릴리즈 모드에서만 실제로 취소 누를 경우 앱이 꺼지는 현상 발생 해결 구글 로그인 결과 값이 null 일경우 처리를 해준다. 개발 모드에서는 문제가 없었는데 릴리즈 모드에서 만 현상이 발생해서 놓쳤던 부분이다. final googleUser = await GoogleSignIn().signIn(); if(googleUser == null ) { // null 일경우 처리 } 더보기
[FLUTTER] 프로필 화면 만들기 #2 ( Image Crop) 1편(링크)에선 카메라또는 라이브러리에서 이미지를 선택하는 방법을 배웠다. 2편에선 선택한 이미지를 crop하는 방법을 배워 보겠다. crop은 image_cropper (링크) 를 사용해서 하겠다. 먼저 라이브러리를 추가해준다. flutter pub add image_cropper iOS는 따로 설정은 필요없다. 안드로이드는 UCropActivity를 AndroidManifest.xml 파일에 추가해줘야한다. AndroidManifest.xml 파일 다음으론 기존에 카메라와 사진 라이브러리에서 사진을 불러오던 부분을 수정해주자 선택한 이미지를 crop 할 것이기 때문에 선택한 이미지를 crop 함수를 만들어서 넘겨주도록 하자. getCameraImage() async { final pickedFile .. 더보기
[FLUTTER] 프로필 화면 만들기 #1 ( Image Picker 이용하여 카메라 및 라이브러리 사용) Image picker 라이브러리를 추가해준다. 링크 flutter pub add image_picker iOS 에뮬레이터의 경우 카메라 기능을 사용할 수 없다. 그리고 iOS의 경우 /ios/Runner/Info.plist 파일에 내용을 추가하여 권한 설정을 해주어야한다. NSCameraUsageDescription 카메라 사용에 필요합니다. NSMicrophoneUsageDescription 마이크 사용에 필요합니다. NSPhotoLibraryUsageDescription 사진라이브러리 사용에 필요합니다. 아래는 전체 파일의 내용 CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName Youtube Camera CFBundleEx.. 더보기
윈도우 intellij 에서 맥용 키보드(MAC OSX 10.5+) 방식 사용하기 맥에서 개발하다 윈도우 환경에서 개발할 일이 있어서 intellij를 설치하고 맥용 단축키를 쓸려니 설정을좀해줘야한다. 먼저 Help -> Edit Custom Properties. -> keymap.windows.as.meta=true 를 설정해준다 키맵을 "Mac OS X 10.5+" 로 바꿔준다. 오토핫키를 설치하고 왼쪽 알트와 윈도우키를 바꿔준다. 오토핫키 사용법은 텍스트 파일을 열어서 LAlt::LWin LWin::LAlt 입력하고 파일확장자를 ahk로 저장후 실행시켜준다. 더보기
angular httpclient 에러메세지가 null 일때 해결법 response error null angular 버전을 4.3때로 올리고 HttpClient 를 이용하여 Angular api 에 나온대로 해서 error 작업을 하던중 원하던대로 body의 error메세지가 찍히지 않고 null 이 찍힌다. 좀 알아보니 text로 서버에서 리턴한경우는 리턴타입을 아래와 같이 명시해줘야 error메세지에 찍힌다.. save(account: any): Observable { return this.http.post('api/register', account, { responseType: 'text' }); } this.registerService.save(register.value).subscribe(() => { this.success = true; }, (response) => this.processEr.. 더보기
페이스북 로그인 스프링 (#12) bio field is deprecated for versions v2.8 and higher error (facebook spring) Jhipster로 페이스북 로그인을 구현하던중 (#12) bio field is deprecated for versions v2.8 and higher와 같은 에러가 발생하였다. 페이스북 라이브러리를 3점대로 바꾸면된다는데 이거는 안해봤고아래와같이 social service 에 적어준다. @PostConstruct private void init() { try { String[] fieldsToMap = { "id", "about", "age_range", "birthday", "context", "cover", "currency", "devices", "education", "email", "favorite_athletes", "favorite_teams", "first_name", "gender", .. 더보기
파이프에 파라미터로 객체 넘길때 에러 Parser Error: Missing expected } at the end of the expression Angular에 파이프를 만들어서 객체를 넘겼는데 }를 빼먹었따고 아래와 같이 에러가 난다. Parser Error: Missing expected } at the end of the expression 코드 {{coinRow?.coins.dash.price|currencyExchange:{myCurrency:myCurrency,currency:coinRow?.coins.currencies,exchangeRate:exchangeRate}}} Angular github 이슈에 보니 이미 올라온 이슈 . 해결법은 아래와같이 뒤에 객체와 칸을 뛰어준다. {{coinRow?.coins.dash.price|currencyExchange:{myCurrency:myCurrency,currency:coinRow?.co.. 더보기