1

크기가 50MB 이상인 앱이 있습니다. 그것은 이미지 세트로 가득 차 있습니다. 앱에 IAP가 있기 때문에 필요에 따라 이미지 세트를 다운로드하고 싶습니다 (사용자가 이미지 세트를 구매할 때). 그것을하기 위해 나는 사과의 호스팅 된 콘텐츠 옵션을 사용하려고합니다.IAP - Hosted Content - 자산 카탈로그 컴파일러 오류 - ".../.../..."출력 디렉토리가 종료되지 않습니다.

올바른 이름/번들 ID로 새 프로젝트를 만들고 iTunes 컨텐트에서 모든 것을 구성했습니다. 이러한 IAP 이미지 세트를 제공하기 위해 모든 IAP 제품에 대해 자산 카탈로그를 사용했습니다. 그러나, 나는 엑스 코드 나에게 다음과 같은 메시지가 제공하는 제품 archieve 할 때

/사용자/MyCompany/데스크탑/프로그래밍 프로젝트/자습서/야채 1/야채 1/Media.xcassets : 출력 디렉토리 "/ 사용자/MyCompany/Library/Developer/Xcode/DerivedData/Vegetables1-dzbpbuiozhaliyezacnqehsgubdt/Build/Intermediates/Archive 중개자/Vegetables1/InstallationBuildProductsLocation/Library/InAppPurchaseContent/Vegetables1/Contents "은 존재하지 않습니다..

Media.xcassets가 비어 있습니다 ... 어떤 그림도 추가하지 않았습니다. 아무리 내가 뭘해도이 오류가 계속 발생합니다.

Media.xcasset이 Copy Bundle Resources에 올바르게 추가되었으며 Finder을 통해 표시됩니다.

자산 카탈로그없이 모든 이미지를 수동으로 추가 할 수 있습니다. 나는 이것이 좋은 접근법이라고 생각하지 않지만 그것이 효과가 없다면 다른 선택의 여지가 없을 것입니다.

답변

1

자산 카탈로그는 번들의 리소스이므로 런타임에 수정하거나 추가 할 수 없습니다. 또한 컴파일 할 때 사용할 수없는 리소스를 참조 할 수도 없습니다. 모든 IAP를 미리 포장하고 구매를 통해 (자산 카탈로그를 사용하여) 잠금을 해제하거나, IAP 컨텐트를 다른 형식 (원시 이미지 및 사전이 포함 된 zip)으로 패키징해야합니다. 번들 외부의 로컬 디렉토리에서.

+0

동일한 문제가 발생했습니다. 이미지 xcassets 파일을 사용하여 응용 프로그램에 포함하는 것만으로 제한 할 수 있습니까, 아니면 Apple에서 호스트하도록 IAP를 설정하여 .xassets를 호스팅 (그리고 근본적으로 다운로드) 할 수 있습니까? –

+0

ST1 - "자산 카탈로그는 번들의 리소스이므로 런타임에 수정하거나 추가 할 수 없습니다"-이 문은 자산 카탈로그를 런타임에 (다운로드 가능한 컨텐츠를 통해) 사용할 수 없음을 의미합니다. ST2 - "컴파일 할 때 사용할 수없는 리소스도 참조 할 수 없습니다"- "리소스 참조"란 무엇입니까? 나에게 이것은 사용할 수없는 리소스가 필요한 코드를 실행할 수 없다는 것을 의미하지만, 실행하지 않으면 코드를 작성할 수 있습니다 (충돌이 발생할 수 있음). Xcode를 업데이트하자마자 테스트 해 보겠습니다. –

+0

1. 런타임시 앱 번들에서 수정할 수 없기 때문에 메인 앱 *에 번들로 제공된 애셋 카탈로그를 수정할 수 없습니다. 미리 컴파일 된 것입니다. 당신이 실제로하고있는 것은 번들 (디스크상의)에서 메모리로 콘텐츠를로드하고 수정하는 것입니다. 2. 기본 앱에서 컴파일 타임에 사용할 수없는 인앱 구매에서 애셋 카탈로그를 참조 할 수 없습니다. – stewjacks

2

이미지 xcasset이 아닌 복사 번들 리소스 아래에 파일이있는 경우에만이 작업을 수행 할 수 있습니다.

필자도 IAP 팩으로 음악을 가지고 있기 때문에 음악을 팩에 추가하여 제대로 제작해야했습니다. 빈 파일이나 XAP의 IAP에 반드시 포함될 필요는없는 IAP를 포함 할 수있는 다른 항목을 실험 ​​해보십시오.

+0

지금까지 @stewjacks와 솔루션을 기반으로 읽은 내용은 앱 번들 외부와 .xassets를 사용할 수있는 방법이 없습니다. 나는 네가 맞다고 생각해. 나는 그것을 시험 할 것이다 =). –

+0

나는 현재 같은 일을하고있다. 나는 그것을 호스팅하고 그냥 코드를 구현하려고했습니다. .pkg를 다운로드하여 설치하십시오. –

+0

FinderSync 확장으로 자산 카탈로그를 사용하려고 할 때이 문제가 발생했습니다. 당신은 @ErikBean이 맞습니다, Copy Bundle Resources에 다른 파일이있는 경우에만 이것을 할 수 있습니다. 빈 파일을 추가하고 컴파일 오류가 사라졌습니다. 감사!! – nickjwallin