이번 포스트에서는 아이폰 개발자모드 빌드하는 과정을 진행하면서 겪었던 여러 가지 문제와 그 해결 방법을 소개할 것입니다. iOS 앱을 Xcode를 사용하여 개발하는 과정에서 발생할 수 있는 다양한 문제를 하나씩 해결해 나가며, 성공적으로 앱 출시를 위해 실제 기기에서 테스트하는 방법에 대해 살펴보겠습니다.
아이폰 개발자모드 빌드 방법
Xcode 설치 및 초기 설정
앱 개발을 시작하기 위해 첫 번째로 Xcode를 설치하고 설정에서 개발자 계정을 등록해야 했습니다. 이러한 초기 설정은 Xcode에서 프로젝트를 빌드하고 테스트하기 위해 필수적인 단계입니다.
프로젝트 열기 및 번들 식별자 설정
xcode에서 File -> open으로 프로젝트를 열어 줍니다. 위치는 프로젝트/ ios/Runner.xcodeproj입니다.
이후 “Runner”에서 “Signing & Capabilities” 섹션으로 이동하여 팀을 선택하고 번들 식별자를 생성하였습니다. 이는 앱의 유일한 식별자로, 앱 스토어와 개발 중 앱을 식별하는 데 중요한 역할을 합니다.
아이폰 개발자 모드 전환 및 실행
아이폰을 개발자 모드로 전환하여 앱 설치 및 디버깅이 가능하도록 준비했습니다. 이는 개발 중 편리한 테스트 및 디버깅을 위한 필수 단계입니다.
Xcode또는 IDE에서 해당 디바이스로 실행시킵니다.
‘IPHONEOS_DEPLOYMENT_TARGET’ is set to 10.0 문제 해결
아래 에러 메시지로인해 인해 빌드가 되지 않았습니다.
'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is
12.0 to 18.1.99.
검색을 통해 프로젝트폴더/ios/podfile에 코드를 추가하였습니다. target.source_build_phase.files.each do |file| 아래줄에 추가하면 됩니다.
if target.name == 'BoringSSL-GRPC' target.source_build_phase.files.each do |file| if file.settings && file.settings['COMPILER_FLAGS'] flags = file.settings['COMPILER_FLAGS'].split flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' } file.settings['COMPILER_FLAGS'] = flags.join(' ') end end end
`rm -rf podfile.lock` 명령어로 기존 파일을 삭제한 후 `pod install –repo-update`를 실행하여 재 설치하였습니다. 이런 식으로 종속성을 업데이트하고 설정을 조정하여 빌드 오류를 해결할 수 있습니다. 아래링크는 참고한 stackoverflow의 링크입니다.
I’ve tried pod upda…
키체인에서 ‘Apple Development’ 문제 해결
앱 빌드 중 갑작스럽게 비밀번호 입력 요구가 나타났습니다. 애플 계정 비밀번호 입력 후에도 문제가 해결되지 않았습니다. 맥북에서 키체인 접근에 들어가서 키체인 접근 열기를 합니다.
키체인 접근에서 ‘apple development’ 항목을 모든 응용 프로그램이 접근할 수 있도록 허용함으로써 문제를 해결했습니다. 이로 인해 인증 문제를 해결할 수 있었습니다.
Include of non-modular header inside framework module 문제 해결
firebase_auth 모듈과 관련된 문제가 발생했으며, 빌드 설정에서 ‘apple clang – language – modules’ 옵션을 조정하여 ‘allow non-modular includes in framework modules’를 ‘yes’로 변경하여 문제를 완화했습니다. 아래 이미지를 참고하셔서 수정하세요
아래링크는 참고한 stackoverflow의 링크입니다.
Logs:
While building module ‘firebase_core’ imported…
아이폰 빌드
문제 해결 후 드디어 빌드가 성공적으로 이루어졌으며, 앱을 테스트할 수 있었습니다. 그러나 아이폰의 ‘일반 > VPN 및 기기 관리’로 이동하여 앱을 허용하는 과정이 추가로 필요했습니다. 최종적으로 앱에 접속하여 테스트를 하였으나, 사용 가능한 기능들을 검토하여 예상한 것보다 많은 수정사항이 있음을 발견했습니다.