2017-05-23 16 views
8

मेरे पास एक एक्समरिन फॉर्म एप्लिकेशन है जो एंड्रॉइड और आईओएस का समर्थन करता है। मैंने जेनकींस को संकलित करने के लिए बनाया है। सभी एंड्रॉइड काम करता है। आईओएस डीबग बिल्ड ठीक संकलित करता है। हालांकि, एड-होक बिल्ड, आईफोन लक्ष्य के लिए पूरी तरह से निर्माण करने में विफल रहता है। ऐसा लगता है कि कोडिंग के दौरान असफल रहा है। यह काम करता है अगर मैं आईफोन सिम्युलेटर को लक्षित करता हूं, लेकिन अगर मैं आईफोन डिवाइस को लक्षित करता हूं तो यह विफल हो जाता है। -v --force --sign 81088F8E194139DC4C6CE640716944E41FB0709F --entitlements "/Users/Shared/Jenkins/.jenkins/workspace/{project पथ}/obj /:स्टूडियो में डिवाइस के लिए एड-होक कोडिंगिंग सफल होता है, जेनकींस में विफल रहता है

उपकरण/usr/bin/codesign निष्पादन तर्क के साथ शुरू कर दिया आईफोन/एड-होक/एंटाइटेलमेंट्स.एक्सेंट "--डिप"/यूज़र/शेरड/जेनकिन्स/जेनकिन्स/वर्कस्पेस/यमप्रोजेक्ट पथ} /bin/iPhone/Ad-Hoc/AppName.app " बिन/आईफोन/विज्ञापन- यह/AppName.app: त्रुटि: /Users/Shared/Jenkins/.jenkins/workspace/{project पथ} /bin/iPhone/Ad-Hoc/AppName.app: अज्ञात त्रुटि -1 = ffffffffffffffff [/ उपयोगकर्ता/साझा/जेनकींस/.jenkins/workspace/{project पथ} /iDriverMobile.iOS.csproj]

यदि मैं विजुअल स्टूडियो में समाधान खोलता हूं , जेनकिंस वर्कस्पेस फ़ोल्डर में, इसलिए यह सटीक फ़ाइलों का उपयोग कर रहा है, फिर संकलन ठीक काम करता है, जो वास्तव में निराशाजनक है।

दो outputs के बीच मतभेद को देखते हुए, ऐसा लगता है कि (स्टूडियो से) काम कर रहे निर्माण कि इस तरह दिखता है विधानसभाओं के सभी के लिए AOT आउटपुट है:

समय संकलक से पहले मोनो - संकलन विधानसभा/उपयोगकर्ताओं/साझा/जेनकींस/.jenkins/कार्यक्षेत्र/{परियोजना पथ} /obj/iPhone/Ad-Hoc/mtouch-cache/32/Build/OpenNETCF.Google.Analytics.dll

ऐसा न करने पर निर्माण से कोई भी नहीं है उन की। इसके बजाय, यह एक जोड़ी लाइनों है कि इस तरह लग रहे हैं:

MTOUCH: चेतावनी MT0095: AOT फ़ाइलें गंतव्य निर्देशिका /Users/Shared/Jenkins/.jenkins/workspace/{project पथ} को कॉपी नहीं किया जा सकता है/ओबीजे/आईफोन/एड-होक/एमटीच-कैश/64/बिल्ड/एमएसआईएम/एमएसआईएम/टीएमपी: प्रक्रिया शुरू नहीं कर सका। [/Users/Shared/Jenkins/.jenkins/workspace/{project पथ} /AppName.csproj]

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

अतिरिक्त जानकारी यह अभी भी नवीनतम अपडेट (5/24/17) के साथ विफल रहता है। मैक 7.0.1 के लिए

  • मैक ओएस एक्स 10.12.5
  • सूची आइटम
  • XCode 8.3.2
  • Xamarin.iOS 10.10.0.36
  • विजुअल स्टूडियो 2017 समुदाय: इस माहौल है (24 का निर्माण करें)
  • मोनो 5.0.1।1

क्या यह ठीक नहीं करता है: एक नया जेनकींस निर्माण

  • पूरे जेनकींस फ़ोल्डर
  • को जेनकींस कार्यक्षेत्र पथ बदलने
  • उद्घाटन अप अनुमतियाँ (777) बनाया जा रहा है

    • एलएलवीएम
    • सक्षम करने से सभी लिंकिंग
    • पूरी तरह से स्थापना रद्द करने और फिर से स्थापित करने के लिए एक बहुत
    • मेरे बीच की उँगली
  • +0

    मुझे लगता है कि आप पहले से ही [इस] (https://stackoverflow.com/a/19550453/2054072) से कुछ प्राप्त कर चुके हैं और अनलॉकिंग के बाद आप कह रहे हैं कि कीचेन सुलभ है, लेकिन क्या आपने देखा [ यह] (https://github.com/Carthage/Carthage/issues/782#issuecomment-163007154) भी? आप दो बार ऐप पर हस्ताक्षर कर रहे हैं जिसके परिणामस्वरूप आप –

    +0

    अनुभव कर रहे हैं, क्या आपने जेनकिंस उपयोगकर्ता के लिए फ़ाइल और फ़ोल्डर अनुमतियां जांच ली हैं? आपने कहा कि यह पुनरारंभ करने के बाद हो रहा है - शायद जब जेनकिंस एक डिमन के रूप में चलाया जाता है तो इसमें पर्याप्त अनुमति नहीं है? – daramasala

    उत्तर

    1

    कोशिश शपथ ग्रहण अपने अनुप्रयोग के DerivedData में ली गई डेटा फ़ोल्डर हटाना जेनकींस

  • msbuild
  • के बजाय xbuild का उपयोग करना। यह ऐप्पल डेवलपर फोरम से this के अनुसार YourAPP_ dasfdsfsdafdsasfdsaf जैसा दिखता है।

    DerivedData डेटा फ़ोल्डर ~/Library/Developer/Xcode/DerivedData/

    पर स्थित है, तो यह काम नहीं करता, सभी लक्षण एक हस्ताक्षर करने के प्रमाण पत्र (यह भी कहा जाता है, पर हस्ताक्षर पहचान) मुद्दा को इंगित।

    ऐसा लगता है कि इसे कमांड लाइन से संकलित किया गया था, /usr/bin/codesign हस्ताक्षर पहचान 81088F8E194139DC4C6CE640716944E41FB0709F पर हस्ताक्षर नहीं कर सकता है। यह कई कारणों से हो सकता है, दुर्भाग्य से:

    • कीचेन
    • codesign ताला लगा हुआ था पर हस्ताक्षर पहचान का उपयोग करने की अनुमति नहीं है।
    • एकाधिक पहचान मौजूद कीचेन और गलत हस्ताक्षर करने पहचान में
    • गलत प्रावधान तदर्थ निर्माण के लिए प्रोफ़ाइल मिलान किया गया था चुना गया था।

    कोशिश msbuild चलाने से पहले कोड के टुकड़े निम्नलिखित जोड़ने के लिए, यह मानते हुए अपने हस्ताक्षर करने के पहचान कीचेन ~/Library/Keychains/login.keychain में है:

    security unlock-keychain -p <password> ~/Library/Keychains/login.keychain 
    security set-keychain-settings -l -u -t 3600 ~/Library/Keychains/login.keychain 
    security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k -p <password> ~/Library/Keychains/login.keychain 
    

    यह कीचेन पासवर्ड निर्माण स्क्रिप्ट में संग्रहीत किए गए करने के लिए एक अच्छा विचार नहीं है आप कर सकते हैं उन्हें छिपाने के लिए this guide का पालन करें।

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

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