본문 바로가기

전체 글

(187)
No field with the name mListener is found in Animation class support library에서 androidx로 컨버팅하니까 No field with the name mListener is found in Animation class라는 에러가 발생했다. 앱이 죽거나 ANR이 걸리는건 아니지만 찜찜해서 확인을 해봤다. https://issuetracker.google.com/issues/139349998https://issuetracker.google.com/issues/139349998 이 이슈를 보면 androidx에 관한 버그라는 것을 확인하였고 이 에러에 대해서 업데이트 되었다는 것을 알 수 있었다. implementation "androidx.fragment:fragment-ktx:1.2.5" 추가해줬더니 에러가 말끔히 사라짐^^
Centos7 유저한테 루트 권한 주기 # 루트 로그인(혹은 sudo 가능한 계정) > su - root # 편집 권한 부여 > chmod u+w /etc/sudoers # sudoer 추가 > vi /etc/sudoers ## user1 사용자에게 sudo 권한 부여 (암호 확인) user1ALL=(ALL)ALL ## group1 그룹에게 sudo 권한 부여 (암호 확인) %group1ALL=(ALL)ALL ## user1 사용자에게 sudo 권한 부여 (암호 미확인) user1ALL=(ALL)NOPASSWD: ALL ## group1 그룹에게 sudo 권한 부여 (암호 미확인) %group1ALL=(ALL)NOPASSWD: ALL # 편집 권한 제거 > chmod u-w /etc/sudoers # 루트 종료 > exit
FFMPEG이 플레이어로써 하는 일(저장용) 이 글은 by 체인지겟타님이 작성하신 글입니다. 내용이 좋아서 저장용으로 포스팅합니다. 원본글 : http://aslike.egloos.com/3082696 미디어 파일 이번 장에서는 본격적인 실습에 앞서, 미디어 파일에 대한 간략한 설명과 함께 플레이어가 어떤 과정을 거쳐서 미디어 파일을 재생하게 되는지에 대해서 알아보려고 합니다. 비록 자세한 설명은 아니지만 향후 강좌 이해에 조금이나마 도움이 될까해서 이번 장을 마련했습니다. > 미디어 파일 이후 제 강좌에서 미디어 파일이란 “플레이어에서 재생하기 위한 오디오/비디오 데이터를 가지고 있는 파일” 이라고 정의하겠습니다. 물론 이게 미디어 파일에 대한 올바른 정의라고 보기는 힘들지만 최소한 이번 장에서 만큼은 위의 의미로 사용할 것입니다. 오늘 날 우리..
Swift 사용 라이브러리 1. Alamofire - Swift 네트워크 라이브러리 2. AlamofireImage - Swift Image 관련 라이브러리 3. SSZipArchive - Zip 라이브러리 4. Firebase/Core - 선행조건 라이브러리 및 Analytics 5. Firebase/Messaging - 클라우드 메세징 / 알림 6. Firebase/Auth - 인증 7. Firebase/AdMob - 광고 애드몹
RxJava Publisher, Subscriber Reactive Streams은 데이터를 만들어 통지하는 Publisher와 통지된 데이터를 받아 처리하는 Subscriber로 구성된다. Subscriber가 Publisher를 구독하면 Publisher가 통지한 데이터를 Subscriber가 받을 수 있다. Publisher : 데이터를 통지하는 생산자 Subscriber 데이터를 받아 처리하는 소비자 Publisher가 데이터를 통지하고 SubScriber는 데이터를 받을때까지의 흐름 1. Publisher의 통지 준비 2. Subscriber에게 통지 3. Subscriber는 받고자하는 데이터 개수를 요청(만약 데이터 개수를 요청하지 않으면 생성자는 요청을 기다리는 상태이므로 통지를 시작할 수 없음) 4. Publisher는 데이터를 만들어 S..
IOS 배포 준비 IOS App Store 배포 준비물 1. 이름 및 부제 정하기 이름 : 카카오톡 부제 : 카카오톡 - 무료로 메신저를 사용할 수 있는 채팅 앱 2. 키워드 정하기 - 키워드는 100자까지 입력할 수 있음 - 키워드 및 키워드 문구를 구분하는 쉼표의 앞뒤에 공백을 사용해서는 안 되지만, 키워드 문구 내에 단어를 구분하기 위한 공백은 허용됨. 예: 재산,부동 자산,집. - 상표 등록된 용어, 유명 인사의 이름, 기타 보호된 단어 및 문구 등의 불법적인 사용은 허용되지 않음 - 앱과 무관한 용어의 사용 및 경쟁 앱의 이름 사용 금지 - 브랜드의 정체성을 표현하기 위해 필요한 경우가 아니라면 # 또는 @ 등의 특수 문자는 사용할 수 없음 3. 프로모션 텍스트 - 설명글을 요약하여 기입하면 될 것으로 보임 4...
Swift map, filter, reduce 스위프트에는 함수형 프로그래밍에서 많이 사용하는 Map, Filter, Reduce를 사용할 수 있다. 세가지 컬렉션은 주로 배열의 요소들을 쉽게 접근 및 연산할때 많이 사용한다. 또한 참조한 배열의 값들을 직접 건드리는 일 없이 오로지 값 복사를 통해 새로운 배열을 반환하기 때문에 비동기처리에도 안전하게 사용할 수 있다. 1. map 먼저 맵 같은 경우에는 각 요소들을 접근하여 연산 처리를 할 때 주로 쓰인다. let numbers: [Int] = [0,1,2,3,4,5,6,7,8,9,10] let mappedNumbers = numbers.map { (myElement : Int) -> Int in return myElement * 10 } print(mappedNumbers) // [0, 10, 2..
Swift 클로저 ※ 이 글은 야곰님의 Swift 스위프트 프로그래밍 책을 참고하여 포스팅 했습니다. IOS 소스 확인하다가 클로저 때문에 애좀 먹어서 정리해놓으려고 한다. 클로저는 요즘 함수형 프로그래밍에서 많이 사용되는 문법으로 스위프트도 클로저를 사용할 수 있다. 말이 필요없다. 예제 소스 ㄱㄱ // Swift 라이브러리 Sorted() func sorted(by areInIncreasingOrder: (Element, Element) -> Bool) -> [Element] // 일반적인 함수 사용 func backwards(first : String, second : String) -> Bool { return first > second } let names = ["아이언맨", "캡틴아메리카", "엔트맨"] let..