Xcode 5에는 iPhone 6.1 시뮬레이터를 다운로드 할 수있는 환경 설정 창이 있지만 iOS 6 SDK를 다운로드 할 수있는 곳을 찾을 수 없으므로 Xcode 5로 개발할 때 활성 SDK를 iOS 6으로 설정할 수 없습니다 Xcode 5에서 iOS 6 SDK를 설치할 수있는 해결 방법이 있습니까?
편집하다:
Xcode 5가 일반적으로 사용 가능하고 이전 버전의 SDK를 다운로드 할 수 있으므로 해결 방법이 더 이상 필요하지 않습니다.

Xcode 5에는 iPhone 6.1 시뮬레이터를 다운로드 할 수있는 환경 설정 창이 있지만 iOS 6 SDK를 다운로드 할 수있는 곳을 찾을 수 없으므로 Xcode 5로 개발할 때 활성 SDK를 iOS 6으로 설정할 수 없습니다 Xcode 5에서 iOS 6 SDK를 설치할 수있는 해결 방법이 있습니까?
편집하다:
Xcode 5가 일반적으로 사용 가능하고 이전 버전의 SDK를 다운로드 할 수 있으므로 해결 방법이 더 이상 필요하지 않습니다.

답변:
편집 : 2014 년 2 월 1 일부터 Apple은 더 이상 iOS7 이전의 앱을 App Store에 제출할 수 없습니다. 따라서이 기술은 여전히 작동하지만 대부분의 독자에게는 유용하지 않습니다.
예, 괜찮습니다. 나는 여전히 하나의 프로젝트에 대해 iOS 4.3으로 빌드하고 있습니다 (업데이트 된 지 얼마되지 않았지만 iOS 6이 나온 후에도 여전히 받아 들였습니다). 현재 Xcode 5로 10.5 앱을 빌드합니다.
"기본 SDK"로 사용할 수 있도록 Xcode를 이전 SDK를 가리키는 방법을 참조하십시오 . 설정 방법에 대한 자세한 내용은 내 fix-xcode 스크립트를 사용하여 업그레이드 할 때마다 모든 것을 링크 할 수 있습니다 .
유일한 트릭은 이전 SDK를 얻는 것입니다. 그것들이 없다면, 일반적으로 이전 버전의 Xcode를 다운로드해야합니다 (여전히 developer.apple.com에서 구할 수 있습니다) ) 하고 설치 프로그램 패키지를 열고 필요한 SDK를 찾아야합니다.
SDK는 다음의 설치 프로그램 패키지에서 찾을 수 있습니다.
Xcode.app/ 콘텐츠 / 개발자 / 플랫폼 /
또한 xcode 5로 업데이트 할 때 동일한 sdk를 제거했을 때 동일한 문제가 발생했습니다. 그러나 다른 컴퓨터에서 이전 SDK의 사본을 가져 와서 다음 링크에서 다운로드 할 수 있습니다.
http://www.4shared.com/zip/NlPgsxz6/iPhoneOS61sdk.html
(www.4shared.com 테스트 계정 test@yopmail.com/test)
두 가지 방법으로 작업 할 수 있습니다.
1)이 폴더의 압축을 풀고 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDK에 붙여넣고 xcode를 다시 시작하십시오.
그러나 xcode를 업데이트하면 Xcode로 다시 제거 될 수 있습니다.
2) 다른 방법은 원하는 위치에 압축을 풀고 붙여 넣은 다음 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDK로 이동하여 심볼릭 링크를 생성하여 SDK가 동일한 경우에도 Xcode를 업데이트합니다.
빌드 설정> 아키텍처> 표준 (64 아님)으로 변경 한 또 다른 변경 사항은 모든 배포 대상 버전을 나열
배포 대상 만 변경하려는 경우 zip을 다운로드 할 필요가 없습니다.
다음은 몇 가지 스크린 샷입니다.

예, 오늘 문제를 해결했습니다.

그런 다음 아래와 같이 SDK를 선택할 수 있습니다.

이것이 도움이되기를 바랍니다.
이전 SDK를 찾아서 다운로드하십시오. 이전 SDK는 여기에서 찾을 수 있습니다 .
xcode.app 디렉토리를 Xcode_4.6.3.app로 복사했습니다.
이제 두 xcode 버전 모두에서 테스트하고 디버깅 할 수 있습니다. 해당 폴더에서 폴더를 실행하거나 바탕 화면에 바로 가기를 만들어야합니다. 명령 행에서 빌드 할 때 iPhoneOS6.1대신 매개 변수를 제공하십시오.iPhoneOS7.0
이것은 Xcode5 및 iOS에서 나에게 효과적이었습니다.
Xcode5의 SDK 디렉토리로 이동하십시오. 일반적으로 다음 위치에 있습니다.
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
다음과 같이 이전 SDK에 심볼릭 링크를 추가하십시오.
sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk
또는 명령 줄의 어느 곳에서나 정확하게
sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
이전 SDK를 다운로드하여 설치할 수 있습니다
Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
폴더. 변경 사항이 적용되도록 로그 아웃 + 로그인하면 새 XCode에 이전 SDK가 표시됩니다.
추가하기 위해 Xcode 5 자체로 이전 버전의 시뮬레이터를 실제로 다운로드 할 수 있습니다-환경 설정으로 이동하면 다운로드에서 찾을 수 있습니다.

터미널 창을 엽니 다
$sudo cp -R /Applications/Xcode4/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/시스템 폴더 안에 있으므로 비밀번호를 입력하라는 메시지가 표시됩니다
가장 쉬운 해결책은 다음과 같습니다.


시뮬레이터에서 iOS 6의 앱을 테스트하려면 :-활성 sheme에서 iOS 6.0을 선택하기 만하면됩니다.

iOS 6에서 앱을 빌드하려면 앱 디자인이 iOS 7이 설치된 iPhone의 이전 디자인이됩니다.-Targets-Base SDK에서 iOS6.1 선택

참고 사항 : Targets에서 기본 SDK를 변경하면 더 이상 시뮬레이터에서 빌드 할 때 iOS 7.0을 사용할 수 없습니다!
이것을 할 수있다 있지만 실제로는 필요하지는 않습니다.
Jason Lee가 답을 얻었습니다. xCode를 설치할 때 이전 설치를 바꾸는 대신 유지하는 것이 좋습니다. 그래서 나는 이것을 설치 폴더에 가지고 있습니다.

따라서 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs다른 SDK를 포함합니다. (Xcode.app를 올바른 숫자로 교체하십시오) 이전 SDK를 복사하십시오.
/Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
복사 한 폴더는 다음과 같습니다.

이제 xCode를 다시 시작하면 이전 버전의 SDK를 기본 SDK로 설정할 수 있습니다.
Apple Documentaion 참조
Xcode 프로젝트에 특정 SDK를 사용하려면 프로젝트 빌드 설정에서 두 가지를 선택하십시오.
배포 대상 선택 .
소프트웨어가 실행될 수있는 가장 초기 OS 버전을 식별합니다.
기본 SDK를 선택하십시오
소프트웨어는 기본 SDK에 해당하는 기능을 포함하여 OS 버전에서 사용 가능한 기능을 사용할 수 있습니다. 기본적으로 Xcode는 이것을 Xcode가 지원하는 최신 OS로 설정합니다.
예를 들어 iOS 7을 기본 SDK로 사용하고 iOS 6을 배포 대상으로 설정할 수 있습니다. iOS 6 시뮬레이터에서 실행하여 iOS 6에서 작동하는 방식을 테스트하십시오. 시뮬레이터 목록에없는 경우 시뮬레이터를 설치하십시오.

추가 사항 iOS 6까지의 기능을 무조건 사용할 수 있으며 조건부로 이전 버전을 지원하면서 업데이트 된 새로운 장치에 대해 iOS 7의 새로운 기능을 지원할 수 있습니다.
이것은 약하게 연결된 클래스 , 약하게 연결된 메서드 , 함수 및 기호를 사용하여 수행 할 수 있습니다.
Xcode에서 배치 대상 (최소 필수 버전)을 iOS6으로 설정하고 대상 SDK (최대 허용 버전)를 iOS7로 설정했다고 가정하십시오. 컴파일하는 동안 컴파일러는 iOS7에 도입 된 모든 인터페이스를 약하게 연결하고 이전 인터페이스는 강력하게 연결합니다. 이를 통해 응용 프로그램은 iOS6에서 계속 실행되지만 새로운 기능이 제공 될 때 여전히 활용됩니다.
여기에있는 다른 답변도 정확하지만 다음 단계가 가장 쉬운 것으로 나타났습니다.
"이전 버전의 Xcode를 찾으십니까?"라는 개발자 센터 링크에서 Xcode 4.6.3을 다운로드하십시오. (현재는 여기 참조 ) dmg를 마운트하십시오.
그런 다음 터미널에서 SDK 파일을 다음으로 복사하십시오.
cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
마지막으로 Xcode를 다시 시작하면 완료됩니다.
내 앱은 프로젝트에서 설정 한 원래 iOS 배포 대상 (제 경우 5.1)으로 계속 빌드 할 수 있기 때문에 Xcode 5로 원활하게 전환되었습니다. 새로운 SDK가 극복 할 수없는 문제를 일으키지 않는다면 그것을 사용하여 빌드하지 않겠습니까? 확실히 후드 아래에 많은 개선이 있습니다.
예를 들어, Xcode 4.6.3 대신 Xcode 5를 사용하는 것이 좋습니다. 왜? Xcode 5에서 텍스트 / 코드 영역의 UI 스크롤이 더 이상 전체 CPU 스레드를 씹지 않기 때문에 배터리 수명이 훨씬 길어집니다.
다른 답변에서 설명한대로 6.1 SDK를 Xcode 5에 연결하는 것이 한 단계입니다. 그러나 이것은 여전히 iOS 7에서 실행되는 새로운 UI 요소, 뷰 컨트롤러가 풀 사이즈로 만들어진 문제를 해결하지 못합니다.
이 답변에 설명 된대로 iOS 7에서 UI를 레거시 모드로 전환해야합니다.
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UIUseLegacyUI"];
[[NSUserDefaults standardUserDefaults] synchronize];
주의 : 이것은 문서화되지 않은 키이며 App Store 빌드에는 권장되지 않습니다!
또한 장치에서 테스트하는 동안 내 경험에 따르면 앱 실행 초기에 코드를 상당히 일찍 실행하더라도 앱을 두 번째로 시작할 때만 작동한다는 것을 알았습니다 +[AppDelegate initialize]. 또한 Xcode 4.6을 사용하여 빌드 된 버전과 미묘한 차이점이 있습니다. 예를 들어 투명한 탐색 막대는 다르게 동작합니다 (뷰를 전체 크기로 사용).
그러나 Mavericks에서 Xcode 4.6.3이 충돌하기 때문에 (적어도 rdar : // 15318883 참조 ) 이것은 디버깅을 위해 Xcode 5를 계속 사용하는 솔루션입니다.
2 월 1 일부터 Apple은 iOS6 이하 전용 앱을 거부합니다. 다음은 Apple 의 공식 커뮤니케이션 입니다. iOS7 구축을 시작하는 것이 좋습니다.
내 진술을 명확히하려면 : iOS6 이하를 빌드하면 Apple에서 앱을 거부합니다. iOS7 용으로 빌드하고 모든 것을 낮추면 괜찮습니다.
애플 이메일의 내용은 나에게 분명하다
"앱이 iOS 7의 혁신적인 기술과 원활하게 작동하는지 확인하십시오. 2 월 1 일부터 App Store에 제출 된 새로운 앱 및 앱 업데이트는 Xcode 5 및 iOS 7 SDK로 구축해야합니다."
현재 Xcode 4.6.3 및 5.0이 설치되어 있습니다. 다음 bash 스크립트를 사용하여 5.0을 이전 버전의 SDK에 연결했습니다.
platforms_path="$1/Contents/Developer/Platforms";
if [ -d $platforms_path ]; then
for platform in `ls $platforms_path`
do
sudo ln -sf $platforms_path/$platform/Developer/SDKs/* $(xcode-select --print-path)/Platforms/$platform/Developer/SDKs;
done;
fi;
.app 경로를 제공하면됩니다.
./xcode.sh /Applications/Xcode-463.app
Xcode5-DP67.0.x를 복구 할 수 있는 이전 설치 버전이 있지만 최신 Xcode 버전으로 업그레이드하거나 설치하기 전에 SDK 디렉토리를 백업하거나 앱의 이름을 완전히 바꾸는 것이 좋습니다.