2015-06-26 18 views
6

के माध्यम से कॉचबेस मोबाइल प्रतिकृति हमारे हाइब्रिड मोबाइल ऐप (आयनिक) में कोचबेस मोबाइल (संस्करण 1.1.0) को एकीकृत करने की कोशिश करते समय, हम आईओएस पर पुश प्रतिकृति के साथ एक समस्या में भाग गए।रीस्ट-एपीआई

एप्लिकेशन में कुछ बिंदु पर (स्थानीय डेटाबेस बनाया गया है और इसी तरह) कुछ विचारों के साथ एक डिज़ाइन दस्तावेज़ सफलतापूर्वक बनाया गया है। एक सतत धक्का और पुल प्रतिकृति भी बनाई गई है और शुरू भी हुई है।

पुश प्रतिकृति स्थिति के लिए मतदान करते समय हमने देखा कि यह शुरू होने के कुछ ही समय बाद (निरंतर प्रतिकृति के लिए सामान्य नहीं था) बंद कर दिया था।

काउचबेस मोबाइल

WARNING: CBL_Pusher[http://server:4985/bucket-sync-gateway]: _bulk_docs got an error: { 
    error = "bad_request"; 
    id = "_design/app"; 
    reason = "Invalid doc ID"; 
    status = 400; 
} 

एक त्रुटि (404) के साथ उत्तर दिया सिंक प्रवेश द्वार एक समान त्रुटि लॉग इन:

BulkDocs: Doc "_design/app" --> 400 Invalid doc ID (400 Invalid doc ID) 

यह केवल iOS पर होता है। Android संस्करण अनुकरण (शायद डिजाइन दस्तावेजों अनदेखी कर रहे हैं?)

  • क्यों प्रतिकृति ios पर डिजाइन दस्तावेजों समन्वयन करने का प्रयास करता है और एंड्रॉयड नहीं पर के साथ समस्या है नहीं करता है?
  • डिज़ाइन दस्तावेजों को सिंक किया जाना चाहिए?
  • क्या कुछ दस्तावेज़ सिंक होने से रोकने का कोई तरीका है? (मूल एपीआई प्रतिकृतियों पर एक फ़िल्टरिंग तंत्र प्रदान करता है, लेकिन बाकी-एपीआई नहीं करता है)

कोई विचार यहां समस्या क्या हो सकती है?

चीयर्स,

बर्ट

उत्तर

2

काउचबेस लाइट और सिंक गेटवे के संस्करणों कौन सा प्रयोग कर रहे हैं? मेरा मानना ​​है कि प्रत्येक के संस्करण 1.1 में व्यवहार में सुधार हुआ है। विशेष रूप से, जब कोई क्लाइंट डिज़ाइन दस्तावेज़ अपलोड करने का प्रयास करता है तो 400 गेट अनुरोध के बजाय गेटवे सिंक गेटवे 403 निषिद्ध है। एक त्रुटि के साथ रोकने के बजाय कोचबेस लाइट प्रतिकृतिकर्ता इस स्थिति के बाद जारी रहेगा।

डिज़ाइन दस्तावेज़ समस्याग्रस्त हैं क्योंकि उनमें आमतौर पर मानचित्र के रूप में निष्पादन योग्य (जावास्क्रिप्ट) कोड होता है, कार्यों को कम या फ़िल्टर किया जाता है। सुरक्षा कारणों से सिंक गेटवे (जैसे कॉच डीबी) गैर-व्यवस्थापक क्लाइंट को अपलोड करने की अनुमति नहीं देगा।

इससे भी बदतर, यह संभवतः आपके आईओएस ऐप को डिज़ाइन दस्तावेज़ डाउनलोड करने के लिए आपके ऐप्पल डेवलपर अनुबंध का उल्लंघन है, क्योंकि ऐप्स को डाउनलोड कोड निष्पादित करने की अनुमति नहीं है। (कारण मैं "शायद" कहता हूं क्योंकि अपवाद जावास्क्रिप्ट कोड वेब ब्राउज़र में चल रहा है। डिज़ाइन दस्तावेज़ में जेएस होता है, और आपका फोनगैप ऐप कोड ब्राउज़र में चलता है, लेकिन नक्शा/कम/फ़िल्टर फ़ंक्शन नहीं चलते हैं ब्राउज़र लेकिन एक अलग जेएस संदर्भ में कोचबेस लाइट द्वारा बुलाया गया। मैं वकील नहीं हूं और मुझे नहीं पता कि ऐप्पल इसके बारे में क्या सोचेंगे। मेरे ज्ञान के लिए यह कभी नहीं आ रहा है।)

-जेन्स अल्फके (मोबाइल आर्किटेक्ट , कॉचबेस)

+0

ऐप्पल के छोटे नियमों के बारे में चेतावनियों के लिए धन्यवाद। – chicks

+0

हे। मैं नहीं कहूंगा कि वे "छोटे" हैं - नियम सुरक्षा दृष्टिकोण से समझ में आते हैं क्योंकि वे छोटी गाड़ी दुभाषियों (फ्लैश की तरह) से दूरस्थ-कोड-निष्पादन भेद्यता की एक विस्तृत विविधता को खत्म करते हैं। "शायद अत्यधिक सख्त"। –

+0

हाय जेन्स, हम सोफेबेस लाइट 1.1 और सिंक गेटवे 1.0.4-34 का उपयोग कर रहे हैं। हम पहले नए सिंक गेटवे को आजमाएंगे। आपको बताएगा कि यह कैसे जाता है। टिप के लिए धन्यवाद! – Bert