| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- clang
- validation failed invalid executable
- xcode16
- bitcode
- framework clang
- enable module verifier
- framework
- Today
- Total
목록전체 글 (66)
.
이전 글)2025.03.06 - [Xcode/Xcode] - [Xcode 16] Validation failed Invalid Executable. ~ contains bitcode. Test App 배포시 에러가 떠서 글을 씁니다 에러 내용[altool] 2025-03-06 13:50:18.693 " data-og-host="kwanghone.tistory.com" data-og-source-url="https://kwanghone.tistory.com/69" data-og-url="https://kwanghone.tistory.com/69" data-og-image="https://blog.kakaocdn.net/dna/vgEIR/hyYulj5I8H/AAAAAAAAAAAAAAAAAAAAADLMBlwHo_ZPYJ5mZQ-z_3Vr1CLhPCSMnMzmpE2aAm0T/img...?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1793458799&allow_ip=&allow_referer=&signature=d7VTxRPZGVCPUl2i12yrKdo9HLI%3D
이번 글은 애플에서 Xcode 16으로 올리라는 메일을 받고 업데이트를 하다 발견한 이슈입니다 업데이트 후 아카이브 > Test App 배포시 에러가 떠서 글을 씁니다 에러 내용[altool] 2025-03-06 13:50:18.693 *** Error: Validation failed Invalid Executable. The executable '{yourProject}.app/Frameworks/{frameworkName}.framework/{frameworkName}' contains bitcode. 해당 내용은 아카이브 파일에 bitcode가 포함되어 있어서 Testflight에 올리지 못한다는 이야기입니다. 처음 해결 방법으로는 Target > Build Phases > Run Script ..
이번 글은 간단하게 한번 적어두면 좋을 거 같아서 적어봅니다 대부분 Delegate로 어떤 값을 전달할 때나 View Rule을 정할 때 Protocol을 주로 사용하죠? Protocol은 필수나 Optional로 설정해 줄 수 있어요 우선 Swift 파일에서 Objective C에서 같이 사용하고자 하면 코드는 다음과 적으시면 됩니다 @objc protocol fooDelegate { @objc optional func didFinishCompletion(name: String, age: Int) } 이렇게 적으시면 Objective C에서도 사용하지 않거나 사용할 수 있어요 그렇지만 단점은 Objective C에서 지원하지 않는 Object를 Parameter에 넣게 되면 에러가 뜹니다ㅜㅜ 이럴 경우..
fastlane을 혼자 쓰다가 같이 사용할 일이 생겨서 추가 작업이 필요해졌어요 인증서 관련 작업인데 Gitlab에 올려두고 같이 쓰기로 했어요 Match를 이용하여 인증서를 올리는 방법은 간단합니다 /// 초기화 fastlane match init /// 저장소 선택 Gitlab 이더라도 1.git을 선택하시면 됩니다 /// 해당 matchFile을 알맞게 수정 git_url("https://gitlab") storage_mode("git") type("development") type("appstore") app_identifier(["com.kwangho.tistory"]) username("광어") 참고로 Gitlab에서 새로운 레포를 하나 생성한 뒤 진행했어요 /// Apple Developme..
이번 글은 빌드하려고 OS 업데이트 했다가 새로운 버그를 만나 해결하는 글입니다 아이폰 15, iOS17에서 이슈가 있어서 OS 업데이트를 했는데 다음과 같은 에러를 보았어요 * DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY SEARCH_PATHS, use TOOLCHAIN_DIR instead 캡처를 하나만 해서 그렇지 마주한 에러는 이렇게 많아 멘붕왔어요 검색해보니까 CocoaPods을 업데이트 하면 된다고 해요 그래서 지금은 1.12.0을 사용하고 있지만 1.13.0 이상으로 업데이트 해줍니다! 근데 루비도 업데이트 하라고 나오네요 바로 brew로 설치해봅니다! // brew 업데이트 brew update // rbenv 설치 brew install r..
다양한 방법으로 작업하다보면 스토리보드에서 화면이 제대로 나오지 않는 경우가 있습니다 그럴때면 Xcode 를 껐다가 켜보아도 아무런 반응이 없거나 무한 로딩이 걸리면 난감하죠.. 찾아도 navigation을 제대로 연결해주었는지에 대한 글만 있어서 저희 프로젝트에서만 일어나는가 싶기도 했는데 해결법은 상당히 간단했습니다! 1. 우선 DerivedData를 삭제해줍니다! 2. Xcode를 완전히 종료해주세요 3. 이제 맥!북!도 완전히 종료해주세요 4. 다시 맥북을 켜고, Xcode 를 실행시켜보면 다음과 같이 로딩 후 잘 나오게 됩니다 결과 화면은 생략!
오랜만에 글쓰는 거 같아요 많고 많은 일이 있었지만 잘 정리되어가는 거 같아 한시름 놓여요 이번 글은 외부에 테스트 앱을 전달할 때 생긴 이슈입니다 다들 외부에 테스트 앱을 전달할 때 TestFlight를 주로 사용하실텐데 TestFlight 말고도 여러 가지 방법으로 테스트 앱을 전달할 수 있는 걸 아시나요 요번에 새롭게 알게 된 건데 (준비사항 있음) ipa 파일만 있으면 앱을 설치해서 테스트할 수 있어요 Mac App에서 Apple Configurator를 사용해서 아이폰에 설치할 수 있더라구요 이걸 사용하기 전에 apple Developer 홈페이지 > 계정 > 기기 에서 해당 UDID를 등록해주어야 합니다 아니면 '무결성을 확인할 수 없기 때문에 설치할 수 없습니다' 라고 알림이 떠요 이후 아카..
이번 포스팅은 쉬운 거 같지만 막상 하려면 헷갈리는 점선 그리는 방법을 알아보도록 하겠습니다! 그리고 Swift 랑 Objective C 둘 다 적어보고자 합니다! let dotLine = UIView(frame: CGRect(x: view.bounds.midX , y: view.bounds.midX, width: 100, height: 100)) override func viewDidLoad() { ... dotLine.backgroundColor = UIColor.black.cgColor view.addSubView(dotLine) ... } 우선 View 를 선언해줍니다 편의를 위해서 미리 view를 그려줬어요! 이후 CAShapeLayer 와 UIBezierPath 를 이용할건데 CAShaperL..
원래 이 오류의 경우 xib, 스토리보드 아웃렛이 제대로 연결되지 않았을 때 주로 발생한다 " setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key " 근데 이번 케이스에서는 따로 Xib 만들지도 연결하지 않았는데 이런 오류가 떴다 처음에는 단순히 초기화를 잘못한 줄 알고 찾았으나 bgView가 걸려서 검색을 해보니 Class 자체 이름이 비슷해서 에러가 난 거였다... 4시간 정도 날림 ㅎㅎ... 오늘은 개발 조금 쉬어야겠다 예를 들어 내 케이스는 Swift 로 CustomView를 만들어 Objective C로 가져가 사용하려고 했다 왜냐면 기존에 만들어져있는 CustomView가 너무 지져분했기 때문에..
Swift로 코딩을 한 뒤 Objective C에 적용시키려니 다음과 같은 에러가 떴다 'Method Cannot be in an @objc extension of a class (without @nonobjc) because the type of the parameter cannot be represented in Objective-C' 원인은 간단한데 Objective C 에서는 맞지 않다는 거 그럼 에러가 난 부분은 다양할 수 있으나 저 같은 경우에는 enum 처리할 때 에러가 났음 기존 코드 enum Style { case a, b } 바꾼 코드 @objc enum Style: Int { case a, b } 오늘은 간단하게 해결!
회사에서 TestCase를 맥북에서 작성하려다가 불편한 점이 있어서 단축키를 검색해보았습니다! 그랬더니 그냥 기본적인 부분만 있었고 Window 노트북처럼 Alt 키를 이용하여 맥북에는 적용할 수 없다는 점이 나왔습니다 그래서 제가 찾은 방법을 공유해드리고자 합니다! (휴.. 이거 알려주는 사람이 없었어 ㅜ) (시간이 없으신 분들은 빠르게 하단으로!) 우선 맥북에는 시스템 설정에 보면 키보드라는 탭을 찾아볼 수 있는데요 공유해드리는 화면은 Ventura 로 업그레이드를 해서 약간 차이가 있을 수는 있지만 다들 잘 찾으실 수 있을거에요 '키보드 단축키' > '앱 단축키' > '+'를 눌러 단축키를 추가할 수 있습니다! 자 예시로 엑셀을 열어서 행을 추가하고 싶은데 단축키가 없네요..? 그러면 다음과 같이 ..
만약 Xcode 상에서 Undefined Symbol 에러가 뜬다면 다음과 같이 해주면 된다 가장 먼저 flag 가 정상적으로 들어가 있는지 확인 한다! Other C Flag 나 Swift Flag 나 Linker Flag 등 확인 하기 그 다음 디렉토리 내 기존 빌드 정보 파일을 삭제 해준다! DrivedData 삭제! 그리고 다시 빌드 해본다! 이래도 안되면 Target -> General -> Frameworks, libraries, and Embedded content로 들어간 다음 'libz.tbd' 를 추가 해준 뒤 Build Clean 해주고 다시 빌드 해본다! 아마 이러면 대부분 해결될거에요! Xcode 조금만 더 친절하게 알려줬으면 좋겠다 ㅜ 아무튼 오늘도 화이팅!
오랜만에 개발 서적을 읽어보았다 책 페이지는 비교적 많지만 내용은 어렵지 않았다 난이도 : ★☆☆☆☆ 쉬운 버전의 리펙토링 책이라고 생각하면 될 듯 싶다 장점 - 반복 설명 - 이해하기 쉽다 - 대화형 스토리도 있어서 그림과 재밌게 읽을 수 있다 - 자바스크립트라서 무난하게 읽을 수 있다 - 읽으면 2~3일만에 읽을 수 있다 단점 - 말이 모호해서? 살짝 이해안되는 부분이 있었다 (내가 바보야...ㅜ) 느낀점 아직까지 액션과 계산에 대한 부분이 모호하긴 하다 그렇지만 전역변수보다 지역변수를 선호하고 반복된 코드를 줄이는 법 등을 되새길 수 있어서 좋았다 프로젝트에 바로 적용할 수 있고, 주 언어에도 이런 고차 함수가 있나 찾아보는 시간도 가졌다
개발 보다 이전 빌드 세팅이 잘못되어 있어서 수정하는 게 더 많은 듯 Xcode 상 외부 라이브러리를 사용할 때 발생할 수 있는 에러 ' Library not loaded: ~~ Referenced: ~~ Reason:: ~~' 이런 식으로 빌드는 Success 는 나지만 Fatal Error 가 뜰 때 다음과 같이 해주면 해결된다 Target -> General -> Frameworks. Libraries, and Embedded Content -> 에러난 프레임워크 -> Embed 부분을 살펴보면 Do not Embed 로 되어 있을텐데 Embed & Sign 으로 바꿔주면 해결된다! 항상 구글링 하면 가장 먼저 나오는게 빌드 클린 + DrivedData 삭제를 가장 먼저 해보라고 함 ㅎㅎ (그치만 ..
프로젝트를 진행하다 보니 Xcode 버전 별로 확인할 코드가 생기더라구요 그래서 이번 포스팅은 많은 분들이 알고 있겠지만 Xcode 를 버전별로 설치하는 방법을 알아보고자 합니다 사용방법은 간단함! 1. Xcode 종료 2. https://developer.apple.com/download/all/ 여기에서 원하는 Xcode 설치 3. 압축 풀기 및 이름 변경 4. 이름까지 변경한 Xcode를 응용프로그램으로 드래그앤 드롭 이후 터미널 CLI를 통하여 설정할 수 있음 // 현재 Xcode 확인 $ xcode-select -p // Xcode 버전 변경하기 $ sudo xcode-select -s /Applications/[Xcode 버전 선택].app/Contents/Developer // 또는 $ su..