아마 가장 많이 보이는 리젝 사유라고 생각이 드는 그 분(?)입니다. 일단 이메일은 Guideline 2.1 - Performance - App Completeness이렇게 오고 아래 자세한 내용이 나와있습니다. 대부분 앱에서 설명에는 나와있으나 해당 기능이 안되는 경우 이 카테고리로 옵니다. 아래에 나오는 말들은 이제 자신의 앱에서 어느 부분이 안되서 리젝한건지 적어주십니다. 그리고 스크린샷도 친절하게 찍어주시는 경우가 많습니다. 일단 저 리젝사유가 날때마다 여기에 계속 추가해볼 생각입니다. 1. 로그인이 안되는 경우- 가장 간단한 부분인데 가장 중요한 부분입니다.- 테스트를 위해 로그인을 해야하는데 안될경우 뜨게 됩니다. - 테스트용 계정을 보낼때 반드시 확인합시다. 1-1. 설명에 적힌 UR..
이번에는 코드와 전혀 관련없는 리젝 사유를 받았었습니다. 메일 내용은 아래와 같습니다. 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..