분류 전체보기
-
[iOS] CocoaPods could not find compatible versions for pod 에러 해결🍎 iOS/개발 2023. 6. 12. 17:00
프로젝트를 클론받아 pod install을 해보니 CocoaPods could not find compatible versions for pod 'Firebase' 오류가 떴습니다. 해당 프로젝트의 Podfile.lock 파일에 명시된 Firebase의 버전이 10.9.0인데, 제 루트디렉토리에 있는 Podspec 파일에 Firebase 10.9.0 버전이 없어서 나타나는 오류입니다. Podspec 파일 https://guides.cocoapods.org/syntax/podspec.html Podspec파일이 뭘까요? Podspec 파일에는 Pod 라이브러리의 버전, 소스를 가져올 위치, 사용할 파일, 적용할 빌드 설정 및 이름, 버전 및 설명과 같은 메타데이터에 대한 세부 정보가 포함됩니다. Pod 라..
-
[iOS] 아이폰에 ipa 파일 설치하기 (Apple Configurator)🍎 iOS 2023. 6. 6. 13:18
iOS는 안드로이드와 다르게 스토어에 배포되지 않은 앱을 일반 사용자들이 마음껏 apk파일처럼 다운로드할 수 없습니다. iOS 기기에는 애플과 애플에서 인증한 개발자들이 만든 앱만 설치할 수 있는데요. 일반 개발자는 애플 소속이 아니기 때문에 애플에서 인증한 개발자가 되어야 하고, 이를 위해 개발자는 애플에서 인증서(Certificate)를 받아야 합니다. 따라서 스토어에 배포되지 않은 앱을 아이폰에 설치하려면 개발자의 Apple Developer Program 결제는 필수적입니다. 인증서를 받아 빌드한 ipa파일도 필요하겠죠! 스토어에 배포하지 않고 유저의 기기에 앱을 설치하는 방법으로는 이 정도가 있을 것 같습니다. 1. TestFlight - 개발자가 사용자들을 모두 Appstore Connect와..
-
[iOS] 앱스토어로 링크 연결하기 (apps, itunes, itms-apps, mt=8)🍎 iOS/개발 2023. 6. 6. 12:04
앱스토어를 여는 링크의 종류에는 세 가지가 있습니다. itunes.apple.com/app/id1644992356 apps.apple.com/app/id1644992356 itms-apps://apps.apple.com/app/id1644992356 세 링크의 동작을 비교해보겠습니다. apps.apple.com/app/id1644992356 앱스토어의 웹페이지를 엽니다. let urlStr = "https://apps.apple.com/app/id1644992356" if #available(iOS 10.0, *) { UIApplication.shared.open(URL(string: urlStr)!, options: [:], completionHandler: nil) } else { UIApplicat..
-
[iOS] WKWebView Content Size 모바일에 맞추기🍎 iOS/개발 2023. 6. 4. 18:57
웹뷰에서 특정 웹페이지를 로드할 때, 해당 페이지가 왼쪽처럼 모바일에 친화적이지 않아서 컨텐츠의 사이즈가 PC버전을 보는 것처럼 로드될 때가 있습니다. 자바스크립트 코드의 meta 태그를 아래와 같이 수정해주면 오른쪽처럼 만들어주어 해결할 수 있는데, 웹페이지의 코드를 직접 수정할 수 없는 상황일 때는 iOS 네이티브 코드상에서 해당 태그를 삽입하는 스크립트를 추가해주면 됩니다. evaluateJavascript 함수를 통해 원하는 시점에 스크립트를 실행하여 해당 태그를 삽입해주거나 var scriptContent = "var meta = document.createElement('meta');" scriptContent += "meta.name='viewport';" scriptContent += "m..
-
[iOS] SwiftGen으로 리소스 관리하기🍎 iOS/개발 2023. 6. 4. 13:03
SwiftGen은 CocoaPods, Homebrew, Mint 등 다양한 방법을 통해 설치할 수 있는데, 본 글에서는 Homebrew로 설치해보겠습니다. 터미널에서 아래 명령어를 순차적으로 실행합니다. brew update brew install swiftgen 설치를 완료하고 나면 리소스들을 코드로 파싱해줄 수 있는 yml 파일이 필요한데, yml 파일은 터미널에서 swiftgen config init 을 입력해 생성할 수 있습니다. 또는 Xcode에서도 스크립트를 추가해 yml 파일을 생성할 수도 있는데, 우선 프로젝트 파일 - Targets - Build Phases - [+] New Run Script Phase로 스크립트 섹션을 추가합니다. 터미널에서 입력하는 명령어와 마찬가지로 swiftge..
-
[iOS] WKWebView User Agent 설정 (웹뷰와 웹브라우저 구분하기)🍎 iOS/개발 2023. 5. 30. 17:44
앱 접속에 대해서만 구현하고 싶은 기능이 있을 때, 웹브라우저로 접속하는 것을 막고 싶을 때, … 등등 웹뷰로 접속했는지 웹브라우저로 접속했는지 구분이 필요한 경우가 있습니다. 이 때 사용할 수 있는 것이 User Agent 값입니다. 우선 웹뷰와 웹브라우저 각각의 User Agent 기본값을 출력해보겠습니다. 📌 웹뷰 // Swift self.webView.evaluateJavaScript("navigator.userAgent") { (result, error) in let defaultUserAgent: String = result as! String print("defaultUserAgent : \(defaultUserAgent)") } 📌 웹브라우저 // JavaScript alert(naviga..
-
[Mac] 아이폰 케이블 연결시 기기 인식을 못하는 에러 해결🍎 iOS/Mac 2023. 5. 30. 15:37
방금 전까지만 해도 기기 인식이 잘만 되었는데 케이블을 한 번 뽑았다가 다시 연결하니 기기 인식이 안 되는 문제가 생겼습니다. 아이폰 충전은 잘만 되는데 Xcode에는 연결된 기기가 없다고 떠 매우 당황 💦 아래와 같이 연결 설정을 초기화해주시면 됩니다! (다만 모든 앱에 대한 권한 설정도 초기화된다는 번거로움이 있습니다) 1. Macbook과 iPhone 케이블 분리 2. [설정] 앱 > 일반 > 전송 또는 iPhone 재설정 > 재설정 > 위치 및 개인정보 보호 재설정 3. iPhone 재부팅 4. Macbook과 iPhone 케이블 연결 5. 이 컴퓨터를 신뢰하시겠습니까 Alert > 신뢰 참고 https://velog.io/@otterji/아이폰-Mac에-usb-케이블로-연결했을때-충전은-되는데-..
-
[Xcode] Internal error Please file a bug at feedbackassistant.apple.com 빌드 에러 해결🍎 iOS/Xcode 2023. 5. 4. 17:53
위와 같이 스토리보드에 Internal error가 발생하면서 빌드가 되지 않는 경우의 해결방법은 다음과 같습니다. 아래 기술하는 방법들은 숫자 순서대로 모두 수행해야 해결된다는 의미가 아닌 첫번째 방법, 두번째 방법, … 을 의미합니다. 케이스마다 해결방법이 다를 수 있어 여러 방법을 작성하였습니다. 덜 번거로운 방법부터 나열하였으니 위에서부터 시도해보시기를 권장합니다. 1. [Product] > [Clean Build Folder] 빌드폴더를 정리하고 다시 빌드하면 해결될 수 있습니다. 단축키 cmd + shift + k로도 수행할 수 있습니다. 2. [Product] > [Clear All Issues] 또는 모든 이슈를 정리하고 다시 빌드하면 해결될 수 있습니다. 3. [Xcode] > [Pref..