2012-09-30 10 views
9

मैं फोन करके रिहाई बनाता है:PhoneGap कैसे कमांड लाइन से एक रिलीज के निर्माण बनाने के लिए

xcodebuild -project HelloWorld -sdk iphoneos5.1 -configuration Release install 

लेकिन PhoneGap क्षुधा के लिए मैं इस त्रुटि मिलती है: जब मैं कोशिश

** BUILD FAILED **

The following build commands failed: CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler (1 failure)

:

xcodebuild -project HelloWorld -sdk iphoneos5.1 -configuration Release clean build 

मैं:

2012-10-04 22:51:52.776 xcodebuild[20016:4107] DVTAssertions: Warning in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/SpecificationTypes/XCGccMakefileDependencies.m:87 Details: Failed to load dependencies output contents from ``/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d''. Error: Error Domain=NSCocoaErrorDomain Code=260 "The file “AppDelegate.d” couldn’t be opened because there is no such file." UserInfo=0x400eabf40 {NSFilePath=/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d, NSUnderlyingError=0x40079c140 "The operation couldn’t be completed. No such file or directory"}. User info: { NSFilePath = "/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d"; NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be completed. No such file or directory\""; }. Function: void XCGccMakefileDependenciesParsePathsFromRuleFile(NSString *, void (^)(NSString *)) Thread: {name = (null), num = 7} Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide. ** BUILD FAILED **

The following build commands failed: CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv7/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler (2 failures) 2012-10-04 22:52:04.887 xcodebuild[20016:4f0f] DVTAssertions: Warning in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/SpecificationTypes/XCGccMakefileDependencies.m:87 Details: Failed to load dependencies output contents from ``/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/MainViewController.d''. Error: Error Domain=NSCocoaErrorDomain Code=260 "The file “MainViewController.d” couldn’t be opened because there is no such file." UserInfo=0x400ef6e40 {NSFilePath=/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/MainViewController.d, NSUnderlyingError=0x400ef24a0 "The operation couldn’t be completed. No such file or directory"}. User info: { NSFilePath = "/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/MainViewController.d"; NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be completed. No such file or directory\""; }. Function: void XCGccMakefileDependenciesParsePathsFromRuleFile(NSString *, void (^)(NSString *)) Thread: {name = (null), num = 10} Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide. ** BUILD FAILED **

The following build commands failed: CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.o Phonefinch/Classes/AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler CompileC build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/MainViewController.o Phonefinch/Classes/MainViewController.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler (2 failures)

यदि मैं cordova/debug ->** BUILD SUCCESS ** पर कॉल करता हूं, लेकिन मेरा .app डीबग मोड में संकलित किया गया है। मैं कमांड लाइन पर रिलीज बिल्ड कैसे कर सकता हूं?

+0

क्या आप अपने प्रश्न पर थोड़ा विस्तार कर सकते हैं? क्या आप आईपीए उत्पन्न करने के बारे में बात कर रहे हैं? –

+0

नहीं, बस '.app'। लेकिन मैं इसके साथ '.ipa' उत्पन्न करना संभव हूं, मैं भी रूचि रखूंगा। – CAMOBAP

+0

ठीक है। यदि आपका ऐप कॉर्डोवा का उपयोग करने के लिए सेट अप किया गया है, तो उपर्युक्त कमांड काम करना चाहिए। आप जिस वास्तविक समस्या का सामना कर रहे हैं? –

उत्तर

1

मुझे समाधान मिला है - cordova उपयोगिता एक कुंजी है। लेकिन हम यह तैयार करने के लिए कुछ कदम क्या करने की जरूरत:

  1. ऐड स्क्रिप्ट hooks/after_build/010_sign_ios.js

    #!/usr/bin/env node 
    
    var app_name = "HelloWorld"; 
    var sign_crt_name = "iPhone Distribution: My company Group BV"; 
    var provision_path = "$PWD/Ad_Hock_Distribution_Helloworld.mobileprovision"; 
    
    var output_ipa_path = "$PWD/platforms/ios/build/device/" + app_name + ".ipa"; 
    var sys = require('sys'); 
    var exec = require('child_process').exec; 
    
    var cliCommand = process.env.CORDOVA_CMDLINE; 
    var isRelease = (cliCommand.indexOf('--release') > -1); 
    var isDevice = (cliCommand.indexOf('--device') > -1); 
    var platform = process.env.CORDOVA_PLATFORMS; 
    
    if (platform === 'ios' && isDevice && isRelease) { 
        function puts(error, stdout, stderr) { 
         sys.puts(stdout) 
        } 
    
        exec("xcrun -sdk iphoneos PackageApplication " + 
         "-v \"$PWD/platforms/ios/build/device/" + app_name + ".app\" " + 
         "-o \"" + output_ipa_path + "\" " + 
         "--sign \"" + sign_crt_name + "\" " + 
         "--embed \"" + provision_path + "\"", puts); 
    } 
    

    लिए लेकिन app_name, sign_crt_name और provision_path चर अनुसार आप की जरूरत है ठीक

  2. भागो cordova build ios --release --device

  3. $PWD/platforms/ios/build/device/HelloWorld.ipa का उपयोग करें ideviceinstaller उपकरण

-1

मैं xcodebuild कमांड में CONFIGURATION_BUILD_DIR पैरामीटर का उपयोग कर कमांड लाइन से निर्माण करने और खाली निर्माण निर्देशिका निर्दिष्ट करने में सक्षम था। Xcodebuild कमांड

+0

यदि आप वास्तव में फोनगैप ऐप बना सकते हैं, तो कृपया स्क्रिप्ट प्रदान करें, और मैं आपका उत्तर – CAMOBAP

3

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

उदाहरण के लिए: जब आपकी मुख्य परियोजना के लिए आपकी रिलीज कॉन्फ़िगरेशन को "रिलीज़एडहोक" कहा जाता है, तो सुनिश्चित करें कि आपके कॉर्डोवा सबरोजेक्ट में भी इस नाम के साथ कॉन्फ़िगरेशन है। इसके अलावा, सुनिश्चित करें कि आप दोनों, मुख्य परियोजना और उपप्रोजेक्ट दोनों के लिए "संग्रह" प्रक्रिया के लिए इन कॉन्फ़िगरेशन का चयन करें।

उम्मीद है कि इससे मदद मिलती है।

+0

धन्यवाद स्वीकार करूंगा! मैंने अपने मुख्य प्रोजेक्ट में "एडहोक" कॉन्फ़िगरेशन जोड़ा और यह सोच रहा था कि यह 'AppDelegate.d' फ़ाइल को खोने के बारे में क्यों शिकायत करता है। – szimek

+0

मेरे पास कोई विन्यास सेट निर्दिष्ट नहीं है और बिल्कुल वही त्रुटि अभी भी आ रही है। कोई विचार ? – matthisb

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