适用于iOS项目的XCode 8中的CMake和代码签名 [英] CMake and Code Signing in XCode 8 for iOS projects

查看:45
本文介绍了适用于iOS项目的XCode 8中的CMake和代码签名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

CMake能够使用目标属性设置(例如

CMake was able to configure automatic code signing for XCode <=7 and iOS projects with a target property setting like

set_target_properties(app PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "PROPER IDENTIFIER")

XCode 8更改了签名过程.现在需要该选项在项目设置常规选项卡->签名"中选择自动管理签名".如果我手动检查此选项以生成cmake生成的项目,则签名效果很好.但是我没有找到默认情况下从cmake项目启用此选项的方法.可以为cmake(> = 3.7.0)完成此操作吗?

XCode 8 changed the signing process. It now is required that the option "Automatically manage signing" in the project settings "General tab -> Signing" is checked. If I check this options manually for a cmake generated project, signing works well. But I did not find a way to enable this option from cmake project by default. Can this be done for cmake (>=3.7.0)?

推荐答案

如果要自动登录CMakeLists.txt

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 -是您的TeamID例如. 2347GVV3KC

DEVELOPMENT_TEAM_ID - is your TeamID Eg. 2347GVV3KC

如果要手动签名:

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 -设置为您首选的代码符号身份,以查看列表:/usr/bin/env xcrun安全性find-identity -v -p代码签名

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

例如 AAAAAAC9F10573BBBBBBBBBBBBBF25F7445951F3D8

或者您可以只写:"iPhone发行版" ,但是我不确定这是一般规则吗:)

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

PROVISIONING_PROFILE_NAME -不带扩展名的文件名,例如我的全名: Game_AppStore.mobileprovision ,所以我在这里写 Game_AppStore

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

应将配置文件概要添加到Xcode缓存中,以便在〜/Library/MobileDevice/Provisioning \ Profiles 中可用更多信息您可以通过单击 Provisioning Profile:Name 并选择 Import Profile ... 然后选择它,从Xcode进行操作.请记住,当您使它无效时,您需要将其从缓存中删除.

Provisioning profile previosly should be added to Xcode cache so it will be available in ~/Library/MobileDevice/Provisioning\ Profiles More info You 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 是宏:

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

这篇关于适用于iOS项目的XCode 8中的CMake和代码签名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆