2016-11-17 13 views
10

CMake की तरह स्थापित करने के लिए स्वत: XCode कोड हस्ताक्षर कॉन्फ़िगर करने के लिए एक लक्ष्य संपत्ति के साथ < = 7 और iOS परियोजनाओंCMake और कोड iOS के लिए XCode 8 में साइन इन करना परियोजनाओं

set_target_properties(app PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "PROPER IDENTIFIER") 

XCode 8 पर हस्ताक्षर करने की प्रक्रिया बदल में सक्षम था। अब यह आवश्यक है कि विकल्प प्रोजेक्ट सेटिंग्स में "स्वचालित रूप से हस्ताक्षर प्रबंधित करें" विकल्प "सामान्य टैब -> साइनिंग" चेक किया गया है। यदि मैं एक सेमेक जेनरेटेड प्रोजेक्ट के लिए मैन्युअल रूप से इस विकल्प की जांच करता हूं, तो हस्ताक्षर अच्छी तरह से काम करता है। लेकिन मुझे इस विकल्प को डिफ़ॉल्ट रूप से सेमेक प्रोजेक्ट से सक्षम करने का कोई तरीका नहीं मिला। क्या यह cmake (> = 3.7.0) के लिए किया जा सकता है?

उत्तर

1

आप 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


आप मैन्युअल पर हस्ताक्षर करना चाहते हैं:

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 security find-identity -v -p codesigning

जैसे। AAAAAAC9F10573BBBBBBBBBBBF25F7445951F3D8

या फिर आप लिख सकते हैं: - विस्तार जैसे बिना फ़ाइल नाम "iPhone Distribution" लेकिन मुझे यकीन नहीं कर रहा हूँ यह सामान्य नियम :)

PROVISIONING_PROFILE_NAME है। मेरा पूरा नाम: Game_AppStore.mobileprovision इसलिए यहाँ मैं लिखने Game_AppStore

प्रोविजनिंग प्रोफाइल previosly Xcode कैश में जोड़ा जाना चाहिए तो यह Provisioning Profile: Name क्लिक करके ~/Library/MobileDevice/Provisioning\ Profiles More info में उपलब्ध हो जाएगा आप इसे Xcode से बस क्या कर सकते हैं और Import Profile... तो लेने उसका चयन करें। याद रखें कि जब आप इसे अमान्य करते हैं तो आपको इसे कैश से निकालना होगा।

# 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) 
:


SET_XCODE_PROPERTY एक मैक्रो है

संबंधित मुद्दे