iOS 18 이후부터 위젯을 사용자화 시켜 Tint 모드를 적용할 수 있어요. 따라서 기존 다크모드 라이트모드만 적용시켜 놓은 앱들은 지정된 색상과 다른 색상이 표현되어,제대로 위젯이 표현되지 않을 수 있어요. 오늘은 어떻게 마이그레이션 할지 같이 알아보아요.2024/10/21 일 iOS 18.0.1 기준이에요. 본론부터 바로 넘어갈게요!!!WidgetConfiguration 프로토콜 부분에 .containerBackgroundRemovable(false)해당 옵션을 설정해 주면 원래 색상에 틴트가 적용되어 아주 잘 보여요. 예시)struct create_view: Widget { let kind: String = "CalendarWidget" var body: some WidgetConfig..
메모용도 글이에요. 아래는 에러 내용. 모든 방법을 찾아봤지만 해결방법이 나오지 않아 XCode version 을 15.4 -> 16.0 으로 바꾸니까 잘 동작 함Failed to build iOS appError (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_Builtin_float Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_errno Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_math Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_signal Error (Xcode..
fastlane iOS setting 을 하다가 나중에 삽질 안하려고 메모해두어요. 1. 아래 링크로 들어가 로그인 해주세요.https://appleid.apple.com/account/manage 2. 로그인 및 보안 -> 앱 암호 항목을 눌러주세요. 3. 앱 암호 생성을 눌러주세요. 4. 적절한 이름을 넣고 생성해주세요. 5. 여기서 생성된 16자리 문자열을 사용하시면 됩니다.
CI,CD 구성중에 iOS 의 team id 와, ITC team id 값이 필요해서 나중에 다시 찾아볼까봐 메모해두어요. 1. 먼저 Team Id 는 https://developer.apple.com/account 로그인 - Apple idmsa.apple.com멤버십 세부 사항의 팀 ID 를 참고 하시면 돼요. 2. ITC team idhttps://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/user/detail앱스토어에 개발자 계정이 로그인 되어있고,위 주소 링크를 클릭 하시면 json 형식의 데이터들이 보여요 그럼contentProviderId contentProviderId 옆에 숫자가 ITC team id 입니다!
UITabBarController를 사용하는데 특정 조건에서 특정 탭이 클릭은 되지만, 페이지가 넘어가지 않고 다른 액션을 실행하고 싶을때가 있다. 이때는 UITabBarControllerDelegate 의 func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool 를 이용해 제어가 가능하다. 먼저 MainTabBarController 클래스를 생성하고 아래와 같이 코드를 작성한다. MainTabBarController.swift import Foundation import UIKit class MainTabBarController: UITabBarCont..
가끔 XCode가 문제인지 무슨 문제인지 멀쩡하던 프로젝트가 팟 파일 에러를 뿜을 때가 있다. 그럴 때에는 여러 시도를 해볼 수 있는데 그중 하나가 팟을 초기화후 다시 설치하는 것이다. 방법은 아주 간단하다. 1. 터미널을 켠다. 2. 프로젝트 메인 폴더로 이동한다. 3, 아래 명령어를 입력한다. sudo rm Podfile.lock sudo rm -r [ProjectName].xcworkspace sudo rm -r Pods pod install [ProjectName]
App Store Connect Operation Error ERROR ITMS-90534: "Invalid Toolchain. Your app was built with an unsupported version of Xcode or SDK. If you plan to submit this build to the App Store, make sure you are using the GM version of Xcode 10.1 and the SDK for iOS 12.1 and watchOS 5.1, Xcode 7.1 and the SDK for tvOS 9, or Xcode 6 and the SDK for macOS 10.9 or later. If you are using an Xcode beta ver..
Emmm..... iOS 13 업데이트 이후 Fabric에 아래 에러가 늘어나기 시작했다. Fatal Exception: NSInternalInconsistencyException Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread. 대충 Background Thread에서 Layout engine을 수정하면 안 된다는 의미인데, 자신의 코드를 보고 Main Thread 가 아닌 곳에서 UI 를 수정하고 있는 곳이 있는지를 보면 된다. 또한 그나마 다행으로 XCode 에서 Runtime Issue 를 표기해주는데 확인하는 방법..
iphone을 iOS 13.2로 업데이트 한 이후로 XCode 최신 버전 (11.1) 에서 계속해서 Install에 실패한다. 내용은 This iPhone X is running iOS 13.2 (xxxxxx), which may not be supported by this version of Xcode 대충 이런 내용인데 찾아보니 정식 XCode 에서는 아직 지원을 안 해주는 모양이다... 보통 iOS update 가 되면 XCode update 이런 수순인데.... 해결 방법은 아래와 같다. Solution: 1. DownLoad https://raw.githubusercontent.com/iGhibli/iOS-DeviceSupport/master/DeviceSupport/13.2.zip 2. fin..
우리가 WKWebView에서 html의 href를 클릭했을 때 어떻게 조작을 할수 있을까? 방법은 아래와 같다. 두 가지 예제가 있는데, 첫째 Click 한 href의 url 값을 가져와서 사용하는 방법. func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if let url = navigationAction.request.mainDocumentURL?.absoluteString, url.contains("naver.com") { //TODO decisionHandler(.cancel..