Еще одна альтернатива, в случае, если вы работаете с Appstore, вам нужны «Права» и, как таковые, вам необходимо установить связь с Apple-Framework.
Для работы Прав (например, GameCenter) вы нужно , чтобы иметь "Link Binary with Libraries" -buildstep, а затем связать с "GameKit.framework".CMake «внедряет» библиотеки на «низком уровне» в командную строку, следовательно, Xcode не действительно знает об этом, и поэтому вы не включите GameKit в Capabilities.screen.
Один из способов использовать CMake и создать «Link with Binaries» -buildstep - создать xcodeproj с CMake, а затем использовать «sed» для «поиска и замены» и добавления GameKit таким образом, чтобыXCode это нравится ...
Сценарий выглядит следующим образом (для Xcode 6.3.1).
s#\/\* Begin PBXBuildFile section \*\/#\/\* Begin PBXBuildFile section \*\/\
26B12AA11C10544700A9A2BA \/\* GameKit.framework in Frameworks \*\/ = {isa = PBXBuildFile; fileRef = 26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/; };#g
s#\/\* Begin PBXFileReference section \*\/#\/\* Begin PBXFileReference section \*\/\
26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System\/Library\/Frameworks\/GameKit.framework; sourceTree = SDKROOT; };#g
s#\/\* End PBXFileReference section \*\/#\/\* End PBXFileReference section \*\/\
\
\/\* Begin PBXFrameworksBuildPhase section \*\/\
26B12A9F1C10543B00A9A2BA \/\* Frameworks \*\/ = {\
isa = PBXFrameworksBuildPhase;\
buildActionMask = 2147483647;\
files = (\
26B12AA11C10544700A9A2BA \/\* GameKit.framework in Frameworks xxx\*\/,\
);\
runOnlyForDeploymentPostprocessing = 0;\
};\
\/\* End PBXFrameworksBuildPhase section \*\/\
#g
s#\/\* CMake PostBuild Rules \*\/,#\/\* CMake PostBuild Rules \*\/,\
26B12A9F1C10543B00A9A2BA \/\* Frameworks xxx\*\/,#g
s#\/\* Products \*\/,#\/\* Products \*\/,\
26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/,#g
сохраните его в "gamecenter.sed", а затем "примените" его вот так(он меняет ваш xcodeproj!)
sed -i.pbxprojbak -f gamecenter.sed myproject.xcodeproj/project.pbxproj
Возможно, вам придется изменить команды скрипта в соответствии с вашими потребностями.
Предупреждение: он может сломаться с другой версией Xcode в качестве проекта-формат может измениться, (жестко запрограммированный) уникальный номер может на самом деле не быть уникальным - и, как правило, решения других людей лучше - поэтому, если вам не требуется поддержка Appstore + Entitlements (и автоматических сборок), не делайте этого.
This - ошибка CMake, см. http://cmake.org/Bug/view.php?id=14185 и http://gitlab.kitware.com/cmake/cmake/issues/14185