2016-08-26 5 views
7

मैं प्रारंभिक चर्चा यहां से मेरी आखिरी पोस्ट चिपकाने हूँ:use_frameworks के साथ त्रुटियों को साइन करना! और अद्वितीय प्रावधान प्रोफाइल

https://github.com/CocoaPods/CocoaPods/issues/4331

इस समस्या के लगभग एक वर्ष के लिए किया गया है, और अभी भी कोई उचित समाधान मिल गया।

जब इमारत:

Code Sign error: Provisioning profile does not match bundle identifier: The provisioning profile specified in your build settings (“MyDistributionProfileName”) has an AppID of “com.myorg.myapp” which does not match your bundle identifier “org.cocoapods.PureLayout”. 

नोट! PureLayout (mypod.podspec फ़ाइल में) एक निर्भरता का उपयोग कर के रूप में मेरे फली में जोड़ा जाता है:

Pod::Spec.new do |s| 
    s.name    = 'MyPod' 
    s.version    = '1.2.34' 
    s.license    = { :type => "MIT", :file => "LICENSE" } 
    s.homepage   = 'https-:-//bitbucket.org/XXXX123/my-pod' 
    s.authors    = { "AuthorName" => "[email protected]" } 
    s.summary    = 'This isa a cocoa pod that contains the MY framework.' 
    s.source    = { :git => "https-:-//bitbucket.org/XXXX123/my-pod", :tag => "#{s.version}" } 
    s.ios.deployment_target = '8.0' 
    s.source_files  = 'MyPod/**/*.{swift,h}' 
    s.resource = 'MyPod/*' 
    s.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'NO', 'ONLY_ACTIVE_ARCH' => 'NO'} 
    s.dependency 'PureLayout', '3.0.2' 
end 

नोट्स::

    s.dependency 'PureLayout', '3.0.2'

    यह मेरा पॉड के पूरे podspec फ़ाइल है

  1. कोकोपोड्स का उपयोग छोड़ना एक विकल्प नहीं है।

  2. @DimaVartanian ठीक का उपयोग @mgrebenets

    त्रुटि ITMS-90035 अमान्य हस्ताक्षर द्वारा सामना की तरह समान त्रुटियां होती हैं। कोड ऑब्जेक्ट बिल्कुल हस्ताक्षरित नहीं है। सुनिश्चित करें कि आपने वितरण प्रमाण पत्र के साथ अपने आवेदन पर हस्ताक्षर किए हैं, न कि विज्ञापन प्रमाण पत्र या विकास प्रमाण पत्र। सत्यापित करें कि एक्सकोड में कोड हस्ताक्षर सेटिंग्स लक्ष्य स्तर पर सही हैं (जो प्रोजेक्ट स्तर पर किसी भी मान को ओवरराइड करती हैं)। इसके अतिरिक्त, सुनिश्चित करें कि आप जिस बंडल को अपलोड कर रहे हैं उसे एक्सकोड में रिलीज़ लक्ष्य का उपयोग करके बनाया गया था, सिम्युलेटर लक्ष्य नहीं। यदि आप निश्चित हैं कि आपकी कोड हस्ताक्षर सेटिंग्स सही हैं, तो एक्सकोड में "सभी साफ़ करें" चुनें, फ़ाइंडर में "बिल्ड" निर्देशिका हटाएं, और अपने रिलीज़ लक्ष्य का पुनर्निर्माण करें। -: - // developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html "

    त्रुटि ITMS-90,171 अमान्य बंडल संरचना - अधिक जानकारी के लिए, https से परामर्श लें बाइनरी फ़ाइल 'XApp.app/Frameworks/X.framework/XView.o' की अनुमति नहीं है। आपके ऐप में समर्थित बंडलों के CFBundleExecutable के अलावा स्टैंडअलोन एक्जिक्यूटिव या लाइब्रेरी नहीं हो सकते हैं। Https- पर बंडल प्रोग्रामिंग गाइड का संदर्भ लें। : -। // iOS एप्लिकेशन बंडल संरचना के बारे में जानकारी के लिए developer.apple.com/go/?id=bundle-structure

  3. मेरे परियोजना भी PushNotifications का उपयोग करता है तो किसी भी वाइल्डकार्ड provisi उपयोग नहीं कर सकते प्रोफाइल पर

  4. यहाँ एक निर्माण के निर्माण के लिए मेरे जिम लाइन है

    gym --clean --scheme ${XCODE_PROJECT_TARGET_NAME} --configuration Release --include_bitcode false --archive_path ${BUILDS_DIR}${PACKAGE_NAME}.xcarchive --output_directory $BUILDS_DIR --output_name "${PACKAGE_NAME}.ipa" --xcargs PROVISIONING_PROFILE=$APP_PROVISION_UUID 
    

    यह पंक्ति किसी भी त्रुटि के बिना काम करता है जब @DimaVartanian ठीक से लागू किया जाता है, लेकिन जैसा कि ऊपर, यह त्रुटि की ओर जाता है ITMS-90035 और त्रुटि ITMS अपलोड प्रक्रिया के दौरान -90171

    pilot upload --skip_submission --username ${APPLE_ID_USERNAME} --team_id ${APPLE_ITUNES_CONNECT_TEAM_ID} --verbose --ipa ${BUILDS_DIR}${PACKAGE_NAME}.ipa --skip_waiting_for_build_processing true 
    
  5. मैं भी है कि एक ही मुद्दे की पुष्टि कर सकते मौजूद न होने पर xcode का उपयोग कर निर्माण/संग्रह/अपलोड:

    यहाँ एक निर्माण को अपलोड करने के लिए अपने पायलट लाइन है।

  6. जिम कमांडलाइन में --export_options "ExportOptions.plist" जोड़कर, कोई फर्क नहीं पड़ता। Xcargs --xcargs "PROVISIONING_PROFILE=$APP_PROVISION_UUID exportOptionsPlist=$EXPORT_OPTIONS_PLIST" के माध्यम से प्रयास करके भी असफल रहा। फ़ाइल का

    सामग्री इस प्रकार है:

    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
    <plist version="1.0"> 
    <dict> 
        <key>teamID</key> 
        <string>TEAMID123</string> 
        <key>uploadSymbols</key> 
        <string>NO</string> 
        <key>compileBitcode</key> 
        <false/> 
        <key>uploadBitcode</key> 
        <false/> 
        <key>method</key> 
        <string>app-store</string> 
    </dict> 
    </plist> 
    

मैं आशा करता हूं CocoaPods टीम जल्दी से ठीक कर देंगे।

संक्षेप में कहते हैं कि करने के लिए - क्या विफल रहता है निम्न क्रम का अंत है:

  1. Objectvie-सी में आधार परियोजना या किसी भी पुराने बनाए रखा ऑब्जेक्टिव-सी परियोजना
  2. बनाएं लेने के लिए और एक रूपरेखा लागू (कोको टच फ्रेमवर्क) स्विफ्ट में परियोजना
  3. कि ढांचे के लिए podspec बनाएँ और भंडार करने के लिए
  4. आधार परियोजना में उस ढांचे CocoaPods
  5. का उपयोग कर शामिल करें इसे अपलोड सिम्युलेटर पर और वायर्ड डिवाइस पर
  6. बिल्ड और चलाने एप्लिकेशन (सब कुछ उम्मीद के रूप में काम करता है)
  7. बिल्ड और/या iTunesConnect पर अपलोड करें ठीक नहीं है ठीक है, यह विफल!

मैं इस मुद्दे को प्रदर्शित करने के लिए बाद में नमूना प्रोजेक्ट जोड़ने की कोशिश करूंगा।

+0

क्या आपने अपना ऐप बनाने और उस प्लिस्ट सेट विधि के अंदर एक्सकोडबिल्ड में एक्सपोर्टपोर्ट्सलिस्ट को पास करने का प्रयास किया है: ऐप-स्टोर? कोकोआपोड्स थ्रेड में मेरा उत्तर देखें जो आपने अपने प्रश्न – tgebarowski

+0

में निर्दिष्ट किया है exportOtionsPlist पास करने का प्रयास किया। यह विफल हुआ। कोई सुधार प्रभाव नहीं था। विवरण के साथ अद्यतन पोस्ट। –

+0

बीटीडब्ल्यू! ExportOptions.plist फ़ाइल में ये कुंजी केवल अपलोडिंग प्रक्रिया के लिए समझने की प्रक्रिया की तरह दिखती हैं, इसलिए ऐसा लगता है कि इसका कोई प्रभाव नहीं पड़ा। –

उत्तर

2

ठीक है, इसलिए मैंने इस बार इस समस्या को हल किया। आमतौर पर, समाधान कभी सोचा आसान है।

बर्गर त्रुटि त्रुटि का कारण ERROR ITMS-90171 इस बार पॉडस्पेक फ़ाइल में निर्देश था।

यह एक: s.resource = 'MyPod/*'

कोई विचार कैसे मुझे लगता है कि एक याद किया, लेकिन 'MyPod/*' सचमुच का कहना है, MyPod की निर्देशिका में सब कुछ जो ग्राफिक्स संपत्ति के अलावा के साथ-साथ * .swift फ़ाइलें निहित शामिल हैं।

तो उस पंक्ति को बदलकर थोड़ा फिक्स: s.resource = 'MyPod/Graphics.xcassets' समस्या को हल किया गया। कोई त्रुटि आईटीएमएस-90171 कोई और नहीं।


हालांकि, यहाँ हम अभी भी एक समाधान (@DimaVartanian द्वारा प्रस्तावित) कि cocoapods द्वारा प्रदान की चौखटे के लिए कोड हस्ताक्षर आवश्यकता को ठीक करता साथ जीना है।

ठीक ही आधार परियोजना की 'Podfile' के लिए इस कोड को जोड़ने के लिए है:

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = "" 
     config.build_settings['CODE_SIGNING_REQUIRED'] = "NO" 
     config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" 
    end 
    end 
end 

(के बाद 'फली स्थापित') परियोजना में सभी फली लक्ष्य के माध्यम से जाने के लिए और बदलकर कोड हस्ताक्षर आवश्यकता निकाल देंगे कि कुछ सेटिंग्स जो आप कोड में देख सकते हैं।

कुछ अफवाहें हैं कि एक्सकोड 8 के उन्नयन के बाद इस कामकाज की आवश्यकता नहीं होगी। मुझे इस पर कोई आधिकारिक पुष्टि नहीं मिली है, लेकिन मुझे उम्मीद है कि यह सच है।

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