[ios] iOS 시뮬레이터 배포 대상은 7.0으로 설정되어 있지만이 플랫폼에 대해 지원되는 배포 대상 버전의 범위는 8.0 ~ 12.1입니다.

Xcode 10.1에서 아래 경고 메시지가 나타납니다.

iOS Simulator 배포 대상은 7.0으로 설정되어 있지만이 플랫폼에 대해 지원되는 배포 대상 버전의 범위는 8.0에서 12.1입니다.

12.1 Xcode 10.1의 시뮬레이터 OS

그리고 내 포드 파일을 업데이트했습니다.

여기에 이미지 설명 입력

내 배포 대상은 9.0입니다.

여기에 이미지 설명 입력

내 목표에서

여기에 이미지 설명 입력



답변

다음과 같이 모든 podfile의 배포 대상을 현재 프로젝트 배포 대상에 자동으로 일치 시키도록 podfile을 설정할 수 있습니다.

post_install do |pi|
    pi.pods_project.targets.each do |t|
      t.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
      end
    end
end


답변

문제는 프로젝트 배포 대상 iOS 버전이 아닌 포드 파일 배포 대상 iOS 버전에 있으므로 프로젝트 작업 영역을 열고 다음을 수행하려면 포드의 배포 iOS 버전과 8.0 이상을 변경해야합니다.

1- 포드를 클릭합니다.

2- 각 프로젝트와 대상을 선택하고 빌드 설정을 클릭하십시오.

3- 배포 섹션에서 iOS 배포 대상 버전을 8.0 이상으로 변경합니다 (동일한 프로젝트 버전을 시도하는 것이 좋습니다).

4- 포드의 다른 모든 프로젝트에 대해이 작업을 반복 한 다음 앱을 실행합니다.

자세한 내용은 사진을 참조하십시오
여기에 이미지 설명 입력


답변

Tao-Nhan Nguyen의 답변을 반복하고 모든 pod에 대해 설정된 원래 값을 고려하고 8.0보다 크지 않은 경우에만 조정합니다 . Podfile에 다음을 추가합니다.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      if Gem::Version.new('8.0') > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '8.0'
      end
    end
  end
end


답변

포드 설치 후 배포 대상을 지정하는 대신 포드 배포 대상을 삭제하여 배포 대상이 podfile 플랫폼에서 상속되도록 할 수 있습니다.

효과가 발생하려면 포드 설치를 실행해야 할 수 있습니다.

platform :ios, '12.0'

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
      end
    end
  end


답변

Xcode 12에서 CocoaPods를 사용하는 경우 다음 오류가 표시되었을 것입니다.

The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.

이는 iOS 8에 대한 지원이 중단되었지만 포드의 최소 배포 대상이 iOS 8이기 때문에 발생합니다.

이 문제가 해결 될 때까지 Podfile에 다음을 추가 할 수 있습니다.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
    end
  end
end

이렇게하면 프로젝트의 모든 pod에서 배포 대상이 제거되고 Podfile 상단에 지정된 프로젝트 / 작업 공간 배포 대상을 상속 할 수 있습니다.


답변

반응 네이티브 문제로 여기에 온 사람이 있다면 / build 폴더를 삭제하고 react-native run ios


답변

이 문제를 해결하고 빌드 시스템 을 다음 과 같이 변경 했습니다.Legacy Build SystemNew Build System

Xcode v10 +에서 파일> 프로젝트 설정을 선택합니다.

이전 Xcode에서 파일> 작업 공간 설정을 선택하십시오.

여기에 이미지 설명 입력

로 변경 빌드 시스템 Legacy Build System에서이 New Build System-> 완료를 클릭하십시오.

여기에 이미지 설명 입력