2013-04-16 5 views
38

क्लाइंट के लिए मैंने iOS + Android ऐप को उपयोगकर्ता इंटरफ़ेस के लिए Cordova (PhoneGap) का उपयोग करके विकसित किया है। अब, इस ऐप के अपडेट के रूप में, मैं एक गेम जोड़ने का प्रयास कर रहा हूं जो हक्स में लिखा गया था। मूल रूप से गेम Flash target के लिए लिखा गया था, लेकिन मैंने Android and iOS के लिए C++ लक्ष्यों के साथ काम करने के लिए इसे अद्यतन किया है।आईओएस ऐप से हैक्स चलाना - hxRunLibrary() त्रुटि

एंड्रॉइड पर गतिविधियों का उपयोग करके Cordova ऐप के साथ इसे एकीकृत करना आसान था (हैक्स भाग एक अलग गतिविधि के रूप में चलता है), लेकिन मुझे आईओएस पर एक समान परिणाम प्राप्त करने में कुछ परेशानी हो रही है।

अब तक मैंने अपने प्रोजेक्ट में सभी hxcpp जेनरेट कोड शामिल करने का प्रयास किया है (उसी तरह एनएमई जब आप "एनएम बिल्ड आईओएस" करते हैं तो एक्सकोड प्रोजेक्ट सेट करता है), और मैं अपने कोड से hxRunLibrary() पर कॉल कर रहा हूं मैं खेल को चलाने के लिए चाहता हूँ।

*** Assertion failure in void UIApplicationInstantiateSingleton(Class)(), /SourceCache/UIKit_Sim/UIKit-2380.17/UIApplication.m:2037 
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'There can only be one UIApplication instance.' 

मुझे लगता है कि यह कुछ करने के लिए हो सकता है:

समस्या यह है कि hxRunLibrary() अपनी ही UIApplication उदाहरण है, जो है, तो निम्न त्रुटि के साथ विफल के बाद से मेरी मुख्य एप्लिकेशन पहले से ही एक उदाहरण चल रहा है बनाना चाहते हैं, लगता है एसडीएल के साथ करें, जो हक्स ग्राफिक्स के लिए उपयोग करता है। जो मैं समझता हूं उससे एसडीएल को ऐप के मुख्य कार्य से चलाने की जरूरत है, जिसने कोको के साथ एक संघर्ष बनाया है जिसे मुख्य समारोह से भी चलाने की आवश्यकता है।

क्या इसके आसपास कोई आसान तरीका है? मैंने hxcpp स्रोतों में देखा है, लेकिन UIApplication संबंधित कोड, या एसडीएल के लिए कोई एंट्री कोड नहीं ढूंढ पाया।

शायद कोई मुझे सही दिशा में इंगित कर सकता है। धन्यवाद!

उत्तर

1

कॉर्डोबा की क्षमता एक बड़ा आवेदन

इसी अंक में भाग का हिस्सा के रूप में एकीकृत किया जाना है।

http://devgirl.org/2012/11/15/embed-cordovaphonegap-in-your-native-ios-app/ इस लेख में मदद मिलेगी

आप वास्तव में एक नया प्रोजेक्ट बना न बजाय आप ios वेबव्यू के माध्यम से वेब दृश्य में एम्बेड और कॉर्डोबा एक subview कार्य करता है।

3

ठीक है, मैंने हैक्स के बारे में कुछ जानकारी गुगल ली है। जो मैंने समझा वह है कि हक्स आपके लिए एक पूर्ण आवेदन पर गर्व करेगा। इसका मतलब है कि इसमें मुख्य कार्य शामिल है। यही कारण है कि त्रुटि खुशी है।

और आप यूआईपीप्लिकेशनमेन फंक्शन दो बार बुलाकर समस्या का अनुकरण कर सकते हैं।

मेरी राय में, आपको UaxplicationMain के बारे में कोड को हक्स द्वारा उत्पादित सॉस कोड फ़ाइल से निकालना होगा।

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