목록iOS/문제해결 (22)
꾸준히 안타치기
https://crazybrain.tistory.com/51 Naver Map v3 API 적용하기 [Xcode | IOS] 아주 주관적이고 막혔을떄 정리하는거라 태글걸지 마시기 바랍니다. 우선 최근까지 pod `NMapsMap' 만 install 해주면 아주 깔끔하게 사용할 수 있었다. 그래서 그렇게 사용하고 있었는데. 다른 프로 crazybrain.tistory.com pod file지우고 다시 깔기 Git-lfs를 설치 간단 명료하게 결론만 말하자면 NMapsMap이 용량이 커지면서 Git-lfs 를 이용하게 되었다는것. 그래서 Git-lfs를 설치를 해줘야한다는 것. https://github.com/navermaps/ios-map-sdk NaverMap github에 들어가서 CocoaPods구..
1.info에서 스토리 보드이름을 정해줘야함. 2.General가 가서 Main Interface를 Main으로 설정한다.(맨 밑에) https://stackoverflow.com/questions/19240054/could-not-find-a-storyboard-named-main-in-bundle Could not find a storyboard named 'Main' in bundle I'm getting a strange error: 'Could not find a storyboard named 'Main' in bundle NSBundle' when trying to run my app on a real iOS device. I have the file in my directory, and it..
기본사용법 // userDefault에 저장 let plist = UserDefaults.standard plist.setValue(userID, forKey: "name")//이름이라는 키로 저장 plist.synchronize()//동기화처리 //userDefaults에 불러오기 let plist = UserDefaults.standard //지정된 값을 꺼내어 각 컨트롤에 설정한다. self.userName.text = plist.string(forKey: "name") //삭제 UserDefaults.standard.removeObject(forKey: "key") https://qussk.github.io/2021/02/27/swift-UserDefault 참고 https://developer...
DispatchQueue.main.asyncAfter 코드를 일정한 시간 뒤 실행할 경우에 DispatchQueue.main.asyncAfter 사용한다. import Foundation DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { // in half a second... "시간차를 두고 실행할 코드" }
문제 ) ITMS-90683: Missing Purpose String in Info.plist 에러 해결) 카메라 사용시,권한 허용관련 목적을 작성해 주지않아서 발생.. value에 "카메라 사용권한 허용해주세요~ " 작성후 다시 빌드하니 승인이 되었다.
앱스토어심사절차 등록 https://ios-development.tistory.com/299 [iOS - swift] 앱스토어 심사 등록 절차, 등록 방법 (App Store Connect) * 앱스토어 심사 제출에 필요한 모든것 체크리스트: ios-development.tistory.com/382 앱 스토어 커넥트 접속 애플 개발자 페이지에서 App Store Connect 접속 나의 앱 클릭 +플러스 버튼 클릭 -> 신규 앱 해당.. ios-development.tistory.com https://ios-development.tistory.com/382 [iOS - swift] AppStore 앱스토어 심사 제출에 필요한 리소스 각 파트별 준비해야할 리소스 리스트 1. 기획 이름, 부제 지원 URL ..
NotificationCenter 관찰해서 알려주는 역할( 등록된 옵저버에게만 )을 한다. 더보기 https://bluedogs.tistory.com/265?category=1007876 Notification / 이벤트 전달! /노티피케이션 센터와 노티피케이션 https://developer.apple.com/documentation/foundation/notificationcenter/ 옵저버 패턴을 사용하는 노티피케이션 센터와 노티피케이션 ob·serv·er| əbzə́ːrvər | 명사1.관찰자, 관측자; 감시자; .. bluedogs.tistory.com 등록된 관찰자에게 정보를 브로드캐스트할 수 있도록 하는 알림 디스패치 메커니즘 언제 사용하는게 적합할까? 앱 내에서 연결없는 두 개 이상의 컴..
서버에서 게시글호출 중.. 페이징 처리에 대해서 생각하게 됬다. 페이징을 하지 않았을 경우의 문제점에 대해 생각해보게 되었는데 클라이언트와 서버입장으로 생각해보았다. 서버 측 문제점 많은 양의 데이터가 저장된 경우 한번에 읽어 올 경우에 처리속도가 늦어진다. 클라이언트 측 문제점 데이터를 읽어오는 범위를 잘못설계시, 데이터가 낭비될 수 있다. 데이터를 받는데도 시간이 오래걸리고, 받을때도 네트워크 자원을 필요이상으로 소모하게 된다. but, 너무 작은 크기로 쪼개면 통신횟수가 늘어나므로 이 또한 문제 통신횟수를 크게 늘리지 않으면서 너무크지 않은 적절한 데이터를 나누어 주고 받도록 구성해야함. 서버 측에서도 나누어 받을 수 있도록 기능을 제공해야함. 클라이언트 측 Get방식으로 API를 호출할때 호출할 ..
검색기능을 만들었는데 영어, 숫자만 검색되고 한글은 검색결과가 나오지 않았다. 문제) URL세션으로 API 검색기능을 구현함 -> 한글검색은 안되는 상태. url에 한글이 포함되어 있을 경우에 서버는 한글을 읽을수 없다. 띄어쓰기도 인식X 해결) addingPercentEconding과 urlQueryAllowed 사용해서 URL String을 -> String으로 변경해 전송 인코딩후 서버로 전송한다. // word에 담긴 단어를 가져옴 print("firstTabVC/ 단어입력내용 :\(self.word)") // 한글이 있는 URL let someURLString = self.BASEURL+"post/0iOS_feedSearch.php?word=\(word)" // 한글이 있는 URL String을..
https://developer.apple.com/app-store/review/guidelines/ App Store Review Guidelines - Apple Developer App Store Review Guidelines Apps are changing the world, enriching people’s lives, and enabling developers like you to innovate like never before. As a result, the App Store has grown into an exciting and vibrant ecosystem for millions of developers and developer.apple.com 앱스토어 승인 - 개인적 경험을 적어놓..
문제 1 탄력적 IP설정 인스턴스를 생성한뒤에 인스턴스가 중지되거나, 종료될때마다 탄력적IP를 설정해두지 않으면, 접속시마다 IP가 변경된다. > 그래서 탄력적 IP를 설정해주어야함 (Elastic IP Adderesses부분) 탄력적 IP를 만든뒤에 인스턴스에 적용을 하지 않으면 비용이 발생한다. 탄력적IP를 생성했으면 꼭 적용해준다. 문제 2 인스턴스 활성 리전 설정 결제대시보드에서 총 활성 AWS리전 수를 확인한다.(우측 하단) 개빡치는 것이.. 요금 부분에 리전이 두개인데 의도치않게 2개가 활성화 되어 있었다. 그래서 요금도 두배가 된다.^^ Asia Pacific(Seoul) US west(N.california) > 서울로만 설정했는지 잘 확인한다. > 리전 인스턴스를 확인하고, 의도하지 않은..
클라이언트와 서버에서 좋아요의 처리를 어떻게 해야할지에 대한 고민 현재 게시글의 좋아요를 누르면 이 정보를 서버로 보내서 테이블에 저장을 하고 있는 상태.(글번호,ID) 좋아요정보를 서버로 보내는 이유는 좋아요를 모아서 보기위함 이때 하트버튼을 토글방식으로 누르고 있는데 ♡(눌리기전) -> ♥(누른후) 처음엔 버튼의 눌리는것의 정보도 함께 서버로 보내서 저장을 하고 그 값을 가져와서 그대로 뿌리는 방법을 생각했는데 단순한 버튼의 눌림은 클라이언트 상에서만 정보를 갖고 있어도 되지 않을까 라는 생각이들었고 은둔 고수님들의 생각은 어떤지 궁금해 카페에 질문을 해보았다. https://cafe.naver.com/mcbugi 생각한 구현방법?! 로그인했을때 아이디값+게시글번호(좋아요 버튼의 눌림 여부)를 U..
문제 Alamofire를 사용해 서버에서 데이터를 받아오고 코더블을 적용 -> 값 안옴 do catch문에 error문에 -> " The data couldn’t be read because it is missing " 라고 뜸 dataJSON는 잘가져옴 디코딩을 했는데 이상하게 가져온값이 찍히지를 않았다. no data라고 뜨지도 않음.. 원인 JSONDecoding 오류 위와 같은 에러는 단순히 error를 출력할 때 나오는 error라함 , JSONDecoding에러에 관련된 에러처리 코드 적용해줌 } catch let DecodingError.dataCorrupted(context) { print(context) } catch let DecodingError.keyNotFound(key, cont..
서버에서 이미지를 불러올때 매번 URL을 호출해서 이미지를 가지고 왔었는데, 이미지를 가져올때마다 새로 불러오느냐고 질문을 주셔서 이 부분에 대해서 생각을 하게 되었다. 생각해보니 그러면 리소스도 많이들고, 비용이 많이 드는 문제가 있을 것 같았다. 메모리에 잠시 저장하는 캐시라는 것이 있다는 것을 알았고 이미지 캐시를 어떻게 하면 좋을지 공부해보았다. 캐시란? 3.〔컴퓨터〕캐시메모리: 주(主)기억 장치에 들어 있는 데이터의 일부를 일시적으로 보관하는 고속 기억 장치. 캐시를 왜 써야할까? 매번 이미지를 가져올때마다 네트워킹을 하게 된다면 비효율적! (리소스 낭비, 다운로드시간 낭비) 한번 받아둔 이미지는 캐시에 저장해서 자동적으로 지워지기 전까지 빠른처리를 하게한다. 이미지를 캐시하는 방법을 찾아보니?..