2015-07-28 5 views
1

После разработки моего первого Mac app я решил отправить его в Mac App Store, но он был отклонен. В основном мое приложение использует NSOpenPanel для чтения файла проекта Xcode и NSSavePanel для сохранения файла после завершения его работы. Рецензент указал, что приложение нарушает правило 2.30. Приложения, которые не соответствуют документации файловой системы Mac OS X, будут отклонены, но я не понимаю, почему.Приложение Mac App Store отклонено из-за доступа к файловой системе - 2.30

Когда вы смотрите на рабочую область приложения, вы можете увидеть, что он использует CocoaPods для обработки зависимостей, которые не должны быть проблемой. Затем он имеет JBLocalizer.framework, который связан как встроенная библиотека с JBLocalizerApp. JBLocalizerApp - конечная цель, отправленная в обзор.

enter image description here

Вот что рецензент отметил, как проблема:

2,30

Приложение обращается следующее место (ы):

«/ Users/josipbernat/Библиотека/Разработчик/Xcode/DerivedData/Сложение/полупродукты/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocalizer.build/Release/JBLocalizer.build/Объекты-нормальные/x86_64/JBString.gcda ' ' /Users/josipbernat/Library/Developer/Xcode/DerivedData/Build/Intermediates/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocalizer.build/Release/JBLocalizer.build/Objects-normal/x86_64/JBPostProcessStringsOperation.gcda ' ' /Users/josipbernat/Library/Developer/Xcode/DerivedData/Build/Intermediates/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocalizer.build/Release/JBLocalizer.build/Objects-normal/x86_64/JBOperation.gcda' '/Пользователи /josipbernat/Library/Developer/Xcode/DerivedData/Build/Intermediates/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocalizer.build/Release/JBLocalizer.build/Objects-normal/x86_64/JBLoadStringsInFileOperation.gcda ' '/Пользователи/josipbernat/Library/Разработчик/Xcode/DerivedData/Сложение/полупродукты/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocal izer.build/Release/JBLocalizer.build/Objects-normal/x86_64/JBLoadSourceFilesOperation.gcda ' ' /Users/josipbernat/Library/Developer/Xcode/DerivedData/Build/Intermediates/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocalizer.build/Release /JBLocalizer.build/Objects-normal/x86_64/JBLoadRootFilesOperation.gcda ' ' /Users/josipbernat/Library/Developer/Xcode/DerivedData/Build/Intermediates/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocalizer.build/Release/JBLocalizer.build/ Объекты-normal/x86_64/JBFileController.gcda ' ' /Users/josipbernat/Library/Developer/Xcode/DerivedData/Build/Intermediates/ArchiveIntermediates/JBLocalizerApp/IntermediateBuildFilesPath/JBLocalizer.build/Release/JBLocalizer.build/Objects-normal/x86_64 /JBFile.gcda '

Majo разработчикам, сталкивающимся с этой проблемой, приходится открывать файлы в режиме чтения/записи вместо режима «Только для чтения», и в этом случае должно быть изменено на на «Только для чтения».

Другие распространенные причины этой проблемы включают в себя:

  • создания или записи файлов в вышеуказанном месте (местах), которые не являются допустимыми местами для файлов, подлежащих записи, как указано в документации

  • запись в вышеуказанном месте (местах) без использования действительного приложения идентификатор в качестве контейнера для письменных файлов

Пожалуйста, ознакомьтесь с «File-System Req Usage для App Store " Отправка в Mac App Store для приложений приложений разрешено для написания и дальнейших указаний.

Я действительно не уверен, как мое приложение может нарушить доступ к библиотеке, с которой связано. Какие-либо предложения?

+1

Похоже, что ваш механизм локализатора даже не связан; и как они возвращаются с абсолютным путем в ваш каталог Xcode DerivedData? –

+0

Я не знаю, что такое .gcda-файлы, но я предполагаю, что они динамически созданы. Cocoapods добавляет модуль XcodeEditor. @ I'L'I Почему вы думаете, что фреймворк не связан, когда я могу скомпилировать приложение и запустить его на нескольких Mac? –

+0

Красный цвет текста рамки в вашем захвате экрана указывает, что он не связан с вашей целью или отсутствует в проекте. Я подозреваю, что это в вашем проекте, так как я вижу это, однако, отсутствует связь * на самом деле *. Я рекомендую удалить его в разделе «Встроенные библиотеки» и «Связанные структуры и библиотеки» и переместить его в навигаторе проекта. –

ответ

3

У вас есть Покрытие кода включено в настройках вашего проекта.

См. QA1514 о том, как он включается, что должно помочь вам отключить его.

+0

Человек, я бы не нашел это в качестве ответа на следующие сто лет! Благодаря :) –

 Смежные вопросы

  • Нет связанных вопросов^_^