이번에는 코드와 전혀 관련없는 리젝 사유를 받았었습니다. 메일 내용은 아래와 같습니다. Guideline 1.4.1 - Safety - Physical Harm Your app provides medical diagnoses or treatment advice but still does not include the required medical disclaimer in the marketing description 이게 무슨 말이냐면 제출한 앱이 의학적 내용을 포함하고 있는데 앱 설명에 적혀있어야할 내용이 없다 대충 이런 말입니다. 그 당시 제출한 앱의 경우 그냥 건강 관련 앱이었는데 이게 무슨 뜻인가 했는데 우리는 the required medical disclaimer 를 주목해야합니다. (처음에 무..
최근에 앱을 스토어에 올릴 일이 굉장히 많았는데 많았던 만큼 다양한 리젝 사유를 받아서 하나씩 원인이랑 해결법을 같이 올려볼까합니다. 간단하게 해결할 수 있는 경우도 있었고 아닌 경우도 있었는데 오늘 리젝 사유는 Guideline 2.3 - Performance - Accurate Metadata We were unable to install the app on iPad and iPhone. The UIRequiredDeviceCapabilities key in the Info.plist is set in such a way that the app will not install on iPad and iPhone. 입니다. 대략 의미는 우리 쪽에서는 멀쩡하던 앱이 저쪽에서 설치가 안되니 Info.plist..
이번 포스트는 https://world-of-larooly.tistory.com/13 AppStore에 올라간 앱 정보(json) 보기 최근 앱을 App Store 에 올리느라 정신이 없었는데 막상 올리고 나서 보니 AppStore 에 올린 앱 정보를 가져올 일이 생겼습니다. 그래서 인터넷을 많이 찾아봤는데 보통 http://itunes.apple.com/lookup?bundleId= world-of-larooly.tistory.com 위 포스트의 연장선에 있음을 알려드립니다. 물론 필수로 보셔야하는 건 아니고 어디까지나 참고 사항입니다. 만약 따라하시는데 잘안된다 하시는 분들은 위 포스트를 참고로 봐주시면 되겠습니다. 하시기 전에 알아두셔야하는게 있습니다. 해당 방법은 https://itunes.app..
하다보면 은근히 많이 쓰이는 부분입니다. 식은 간단한데 자주 까먹는게 문제겠죠 func changeStringToDate(text : String,format: String) -> Date? { let formatter = DateFormatter() formatter.locale = Locale(identifier: "ko_KR") formatter.dateFormat = format//"yyyy-MM-dd" let textDate = formatter.date(from: text) return textDate } func changeDateToString(date : Date,format: String) -> String? { let formatter = DateFormatter() formatter..
최근 앱을 App Store 에 올리느라 정신이 없었는데 막상 올리고 나서 보니 AppStore 에 올린 앱 정보를 가져올 일이 생겼습니다. 그래서 인터넷을 많이 찾아봤는데 보통 http://itunes.apple.com/lookup?bundleId=(번들ID) 위 형식으로 입력을 하면 json 파일 형식으로 볼수있다고 했는데 저의 경우 아래 처럼 아무 내용도 안 나왔습니다. 그래서 확인해보니 제 앱의 경우 "한국만" 배포하게 되어있어서 그런거더라고요... https://itunes.apple.com/kr/lookup?bundleId=(번들ID) 이런식으로 "kr"을 추가해서 url을 들어가니 정상적으로 뜨는걸 볼수있습니다. 모자이크 때문에 안보이긴 하지만 해당 URL에서 나오는 json을 이용해 현재 ..
이번에는 사용자가 하루에 얼마나 걸었는지를 알아내야하는 일이 필요해서 만들었던 함수입니다. 기본적으로 ios 는 CoreMotion 을 활용하시면 원하시는 기간 동안 사용자의 걸음 데이터를 가져올 수 있습니다. 저는 걸음수, 거리, 실제 운동(걸음) 시간 이렇게 3가지가 필요한 상황입니다. 사실 이부분이 올릴 내용이 많은데 그건 나중에 시간 될때 천천히 올려보기로 하고 오늘은 최대한 간단하게만 알아보도록 합시다. 하기전 사전 작업 (권한 추가) 운동데이터는 가져오려면 사용자 권한이 필요합니다. Info.plist 에서 해당 항목을 반드시 추가해주세요! 권한은 필요할 때 권한 요청을 스스로 해줍니다. (필요에 따라서 코드를 통해 그 전에 권한을 요청할 수 도 있습니다. 이건 다음 기회에) 그 후 코드는 생..
가끔 일을 하다보면 UIColor를 hex 값으로 처리해줘야 하는 경우가 있습니다. 이때를 위해 간단하게 함수를 추가해서 이용해봅시다. *아래 함수는 alpha 값까지 표기해주셔야하는 함수입니다* import Foundation import UIKit extension UIColor { public convenience init?(hex: String) { let r, g, b, a: CGFloat if hex.hasPrefix("#") { let start = hex.index(hex.startIndex, offsetBy: 1) let hexColor = String(hex[start...]) if hexColor.count == 8 { let scanner = Scanner(string: hexCol..
ios 16 이 나오고 xcode 14 가 나오면서 멀쩡하던 부분이 안돌아가는 현상이 발생했습니다. 저의 경우 원래는 pod 파일에다가 'pod Charts' 를 써서 했는데 xcode 14 로 업그레이드 하면서 버그가 떴습니다. 버그 내용 Referencing instance method 'makeIterator()' on 'Collection' requires the types 'IndexingIterator' and 'IndexingIterator' be equivalent 해결법(이게 최고의 방법이라고는 할 수 없습니다만 일단 저는 이렇게 했습니다.) 1. Podfile 에서 Charts 삭제 -> 혹시 충돌날지도 몰라서 삭제한겁니다 -> 삭제후 pod init 을 잊지 말아주세요 (삭제 적용) ..