CMake and Code Signing in XCode 8 for iOS projects CMake and Code Signing in XCode 8 for iOS projects xcode xcode

CMake and Code Signing in XCode 8 for iOS projects


If you want automatic signing in CMakeLists.txt

SET_XCODE_PROPERTY(MyTarget CODE_SIGN_IDENTITY "iPhone Developer")SET_XCODE_PROPERTY(MyTarget DEVELOPMENT_TEAM ${DEVELOPMENT_TEAM_ID})

DEVELOPMENT_TEAM_ID - is your TeamID Eg. 2347GVV3KC


If you want manual signing:

SET_XCODE_PROPERTY(MyTarget CODE_SIGN_IDENTITY ${CODESIGNIDENTITY})SET_XCODE_PROPERTY(MyTarget DEVELOPMENT_TEAM ${DEVELOPMENT_TEAM_ID})SET_XCODE_PROPERTY(MyTarget PROVISIONING_PROFILE_SPECIFIER ${PROVISIONING_PROFILE_NAME})

CODESIGNIDENTITY - Set to your preferred code sign identity, to see list: /usr/bin/env xcrun security find-identity -v -p codesigning

eg. AAAAAAC9F10573BBBBBBBBBBBF25F7445951F3D8

Or you can just write: "iPhone Distribution" but I'm not sure is it general rule :)

PROVISIONING_PROFILE_NAME - file name without extension eg. My full name: Game_AppStore.mobileprovision so here I write Game_AppStore

Provisioning profile previosly should be added to Xcode cache so it will be available in ~/Library/MobileDevice/Provisioning\ ProfilesMore infoYou can simply do it from Xcode by clicking Provisioning Profile: Name and pick Import Profile... then select it. Remember when you invalidate it you need to remove it from cache.


SET_XCODE_PROPERTY is a macro:

# This little macro lets you set any XCode specific propertymacro (set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE)    set_property (TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE})endmacro (set_xcode_property)