목록iOS개발 (39)
일모도원(日暮途遠) 개발자
앱 업데이트를 제출할려니 아래처럼 경고가 나온다.거래자 여부가 좀 애매한데, 법인이면 거래자, 개인도 앱으로부터 수익 창출할려고 하면 거래자로 봐야 할거 같다. 자세한건 맨아래를 참고하자.개발자는 유럽 연합(EU)에서 배포할 새로운 앱이나 앱 업데이트를 제출하려면 거래자 자격 여부를 제공해야 합니다. 디지털 서비스법(DSA)을 준수하려면 2025년 2월 17일까지 비즈니스 섹션으로 이동하여 거래자 자격 여부를 제공해야 합니다. 그렇지 않으면 앱이 EU의 App Store에서 삭제됩니다. "비지니스로 이동"을 눌러서 가니 아래처럼 나온다.App Store, Apple Books 또는 Apple 팟캐스트에 새 콘텐츠를 제출하려면 거래자 자격 여부를 알려주셔야 합니다. 디지털 서비스법(DSA)에 따라 Appl..
인앱기능을 추가하여 제출하였는데, 아래사유로 리젝되었다. 릴리즈용 앱인데, 인앱구매가 Sandbox를 사용하고 있었다. (즉 판매할 앱의 인앱을 유저들이 공짜로 구매가 가능하다는 뜻이다) Guideline 2.1 - Performance - App CompletenessWe are unable to complete the review of your app because one or more of your in-app purchase products have not been submitted for review.Next StepsTo resolve this issue, please be sure to take action and submit your in-app purchases and upload a n..
아라한자 앱에서 한자위에 독음을 달아주는 기능을 만들고 있는데, rb 태그에 있는 값이 \n이면 제대로 읽어오지를 못한다. (웹뷰에 쓰는 HTML Hurigana tag가 아니라 표준 포맷은 아니다. 제대로 쓸려면 data-를 span태그안의 각 custom attribute안에 붙여야 한다...) 天천 \n 아래와 같은 코드로 rb태그를 읽어오면 "천"은 제대로 읽어오는데, "\n"은 공백(空白, space)으로 읽어온다. 즉 " " 이 되어 버린다. import SwiftSoup let text = """ 天천 \n """ let doc = try SwiftSoup.parse(text) let rbTags = try doc.select("rb") for (_, rbTag) in rbTags.enume..
SwiftUI에서 애플 지도를 사용할려면 MapKit을 사용하면 된다. import MapKit 지도를 그려주기 위해서는 Map View를 이용하면 된다. 크게는 coordinateRegion과 mapRect가 있는데, 주로 coordinateRegion를 사용한다. Map(coordinateRegion: Binding Map(mapRect: Binding 아래코드는 서울지역을 보여주는 코드이다. MKCoordinateRegion으로 중심 경위도를 주고, span으로 반경을 주면 된다. import SwiftUI import MapKit struct ContentView: View { @State private var region = MKCoordinateRegion( center: CLLocationC..
가끔 XCode에 Storyboard를 추가하다보면 아래와 같은 에러를 만난다. [Storyboard] Unknown class HuriganaTestViewController in Interface Builder file. Could not cast value of type 'UIViewController' (0x12f1174d8) to 'AraHanja.HuriganaTestViewController' (0x109d2a698). Could not cast value of type 'UIViewController' (0x12f1174d8) to 'AraHanja.HuriganaTestViewController' (0x109d2a698). 분명히 해당 이름의 스토리 보드파일이 있는데, 없다고 나온다. 새..
간만에 iOS앱을 수정하기 위해서 빌드를 해보니 아래처럼 에러가 나온다. (XCode 14부터 나오는 에러라고 한다) File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a 에러메시지를 꼼꼼히 안봐서 첨에는 시뮬레이터쪽이슈인가 했는데, 구글링 해보니 libarclite가 deprecated를 지나서 obsolete가 되어서 나온 에러다. Xcode 14 only supports building for a deployment target of iOS 11. libarclite was necessary for older O..
UI화면을 동적으로 만드는건 여전히 어렵다. OpenSubtitle에 로그인하는 뷰를 만들고 있는데, 계정이 없으면 계정을 만들라고 안내하는 라벨을 맨위에 두었다. 문제는 이 라벨이 영어, 한국어에 따라서 줄수가 바뀌는데, 로그인 뷰의 전체 크기는 고정되어 있어서 보기에 안좋다. XIB에서의 화면이다. 영문 아래위로 공간이 좀 남는게 보인다. 기기에서 본 화면이다. 라벨의 아래위로 공백이 좀 보인다. 내가한 수정 방법은 아래와 같다. 라벨을 선택후 Add New Constraints를 선택후 높이(Height)를 선택한후 "Add 1 Constraint"를 누른다. "Show the Size Inspector"로 가서 추가한 높이의 Edit를 누른다. 20보다 크거나 같다라고 Constraint를 줬다...
다크모드는 보통 "라이트", "다크", "시스템" 3가지 메뉴를 가진다. "시스템"은 iOS의 설정에서 세팅한 다크모드값을 따른다. 앱 전체에 다크/라이트 모드를 적용하기 위해서는 앱을 열때 AppStorage에 저장된 다크/라이트모드 값을 가져와서 @main에 있는 ContentView의 .preferredColorScheme에 해당되는 ColorScheme를 넣어주면 된다. @main struct AraKoicaApp: App { //UserDefaults대신 AppStorage를 이용하여 다크/라이트모드 저장 @AppStorage("AppDarkMode") var appDarkMode: Int = UserDefaults.standard.integer(forKey: AppStorageKeys.AppD..