2010-07-01 5 views
80

다른 Q/A를 함께 바인딩 할이 커뮤니티 위키를 만들었습니다. . 당신이 여기 있다면, 당신은 아마 아이폰 SDK 4 (download link, 등록 REQD)와 엑스 코드 3.2.3의 최종 버전을 설치 한 후 다음 문제 중 하나 또는 둘 모두가 발생했습니다 :에서xCode 설치 3.2.3 iPhone SDK 4, "Base SDK 누락"가져 오기, 다른 SDK를 볼 수 없음

  • 당신의 이전에 xCode iPhone 프로젝트를 사용해 보았 으면 어딘가에 "Base SDK Missing"이 생겼습니다. 이런 식으로 뭔가 : 관련하지만 더 일반적인 관찰에

    Ruh-roh!

  • , 장치 또는 시뮬레이터 SDK 선택의 이전에 사용할 수 갑옷의 없음 (예 : 3.0, 3.1, 3.1.3, ...)로 볼 수 있습니다 어디에서 보셨습니까?

답변

166

내가 특정 "기본 SDK 누락"문제를 해결하는 방법 다음이 일어나고있는 이유를 설명하려고하고있어

개요. 이 모든 것을 읽는 것이 좋겠지 만, 수정본을 보려면 맨 아래로 건너 뛸 수 있습니다. 이 문제에 관해 John Muchow의 우수 take도 좋습니다.

강력하게 관련된 문제가있는 Xcode 3.2.4 업그레이드에 특히 관심이 있다면 here을 부여하는 것이 좋습니다. 그들에게 모든

을 지배하는

한 SDK는 다음 거래의 4.0 지금 새로운 또는 업데이트 된 아이폰 전용 애플리케이션을 제출 허용하는 유일한 SDK 버전입니다. 이것은 애플의 iOS 4 Readiness Checklist (등록 REQD)에서 직접입니다 :

모든 새로운 애플리케이션과 기존 애플리케이션에 대한 업데이트 있습니다 아이폰 SDK 4. 빌드해야합니다, 앱 스토어는 아이폰 OS이 더 이상 지원 응용 프로그램을 대상으로하지 않습니다 그 .엑스.

아마 여기에서 추측하고 있습니다. iPad 전용 및 범용 앱 은 3.2 SDK를 사용해야합니다. 은 4.0 & 3.2가 SDK에만 해당되는 이유입니다.

이전에 SDK에 매핑 된 SDK가 , 사용 중지 예정인, gones-ville이므로 프로젝트가 중단 된 이유이기도합니다.

(하지만) 3은 마법의 숫자입니다.

긴장을 풀어주세요. iPhone OS 3.0을 실행하는 기기를 대상으로 할 수 있지만 그 이상은 아닙니다. 을 사용하여을 컴파일하는 SDK는 아래로 - iOS 버전 으로 프로그래밍하거나 지원할 수 있습니다. 프로젝트 등에서 패치를 적용한 후에 (다음 섹션 참조) "iPhone OS Deployment Target"을 더 낮은 iOS 버전으로 설정할 수 있습니다. 이 작업을 수행하는 방법에 대한 간단한 설명은 cf. 다음 섹션의 7 단계.

이제 까다로운 지형을 입력하게됩니다. 일반적인 Xcode 3.2.3 컴파일러는 더 이상 3.0 전용 호출에 대한 준수를 강요하지 않으며 이러한 호출을위한 시뮬레이터를 가지고 있지 않습니다.4.0 기능을 지원하려면 3.0 장치에서 충돌을 방지하기 위해 일부 조건부 코드를 수행해야합니다. 장난.

여전히 Apple에서 다운로드하여 이전 Xcode 버전 또는 SDK (참조 : here)를 설치할 수 있습니다. 예. 여러 디렉토리에 Xcode 버전을 여러 개 설치할 수 있습니다. 즉,/Developer에 하나의 버전 만 넣을 수 있습니다. 오래된 Xcode를 사용하여 3.x SDK와 비교하여 앱의 적합성을 테스트하고 멋진 작업을 멋진 컴파일러 및 시뮬레이터로 옮길 수 있습니다. 그러나 더 이상 이전 SDK의 제품을 사용하여 앱 스토어에 제출할 수 없습니다.

FWIW, 배송 전에이 검사 만 수행 할 계획입니다.

내 상태가

매트 갤러거에 어떤 조건 "Tips & Tricks for conditional iOS3, iOS3.2 and iOS4 code" 자격이 버전의 조건 코드에 사랑 게시물 코코아가있다. 4.0 기능을 조건부로 사용하려는 경우이 기능을 사용하는 것이 좋습니다. "자료 누락 SDK"
  1. 프로젝트 메뉴를 선택 프로젝트> 프로젝트 편집에서 설정
  2. 로드를 고정

    ... 아키텍처에서

  3. > 자료 SDK, 사용 가능한 장치 중 하나를 선택 옵션 : iPhone 3.2 또는 iPhone 4.0. iPhone 만 사용하는 경우 4.0이 좋습니다.
  4. 해당 창을 닫습니다.
  5. 프로젝트> 활성 대상 편집 "YourTarget"
  6. 아키텍처> 기본 SDK에서 또는 시뮬레이터 옵션 중 하나 인 iPhone 3.2 또는 iPhone 4.0 중 하나를 선택하십시오.
  7. 이전 iOS 버전을 타겟팅하려면 동일한 창의 배포> iPhone OS 배포 대상에서 지원할 가장 낮은 버전 인 을 선택합니다. 앱 스토어를 통해 2.x 버전을 지원하는 것이 더 이상 사용되지 않습니다. 위의 "준비 점검 사항"견적을 참조하십시오.

    • 의 왼쪽에있는 폴더 아이콘을 사용하여 프로젝트 네비게이터를 선택 :

자료 SDK 위치 위의 단계를 수행 엑스 코드 4와

이상하지만, 단계 # 2 다음 클릭 탐색기 메뉴 모음

  • 해당보기의 맨 위에있는 프로젝트를 선택하십시오.
  • 프로젝트 구성이 기본 편집기 패널에 나타납니다. 상단의 '빌드 설정'을 선택하면 '아키텍처'섹션이 표시됩니다.
  •       Build Settings

        Project navigator      이 항목에

    부록

    더 자세한 정보 (이 답변 Sherman Loanswer의 약간 적응 버전) 첫 번째 대답에서 찾을 수도 있습니다. 이것에 question. 유용한 정보 인 here도 있습니다.

    +3

    제가 생각하기에 맹목적 인 사람은 프로젝트 설정 항목이 존재하지 않는다고 생각하면 프로젝트> 프로젝트 설정 편집입니다. –

    +0

    @Lou Z .: 고마워요, –

    +1

    'Apple에서 다운로드하여 이전 Xcode 버전 (예 : 3.1.4 : Leopard, Snow Leopard)을 설치할 수 있습니다.' 그 링크는 실제로 3.1.3 SDK가 아니라 3.1.3 SDK입니다. – Remover

    3

    나는이 같은 문제도 가지고있었습니다. 이전 타겟으로 다시 전환하는 여러 타겟을 사용할 때 문제가 발생했습니다. xcode는 iOS 타겟에서 MacOS 타겟으로 전환하는 것과 같은 몇 가지 사항을 변경하는 것을 잊었습니다.

    옵션/alt 드롭 다운을 클릭하십시오.

    매우 유용한 몇 가지 추가 옵션이 있습니다.

    5

    이전 버전의 Xcode 및 iPhone OS SDK를 다운로드하기 위해 Clay Bridges가 제공 한 링크가 작동하지 않습니다. 그러나 'iphone'의 첫 번째 인스턴스를 'ios'로 바꾸기 위해 이러한 링크를 편집하면 Snow Leopard 링크 (지금 다운로드 중)에서 작동합니다.

    올바른 링크와 최신 Xcode 설치에 이전 iOS SDK를 설치하는 데 대한 정보는 Chris Fletcher의 블로그 항목에서 가져 왔습니다. howto install iphone sdk 2.0.3.1 for xcode 3.2 강력 추천합니다!

    +0

    좋은 정보, 스티브. 내 대답은 커뮤니티 위키라고 생각합니다. 올바른 정보로 편집 할 수 있습니다. 감사. –

    +0

    StackOverflow를 처음 접했고 사이트에서 다른 사람들이 작성한 게시물을 편집 할 수있게하기 전에 '포인트'가 더 필요하다고 생각합니다. UI가 내 게시물에 대해 '이 게시물 수정'을 말하는 확실한 방법을 제공하지 않습니다. 죄송합니다. – SteveCaine

    8

    설정을 수정했지만 "기본 SDK 없음"이 표시되고 빌드 할 수없는 경우 프로젝트를 다시로드하십시오. Xcode를 종료했지만 종료 및 다시 열기가 가능할 수도 있습니다.

    +0

    왜 그런가요? xcode를 닫고 설정 변경의 b/c를 다시로드해야하는 것이 이상한 것 같습니다. O – RyBolt

    +0

    좋은 질문 RyBolt, 아직 그게 방법입니다. 애플은 어딘가에 캐싱을해야하고 리로드가 덤프를해야한다.하지만 그것은 단지 추측 일 뿐이다. –