2009-03-13 10 views
9

मेरे पास एक डेटा है: यूआरएल (देखें: http://en.wikipedia.org/wiki/Data_URI_scheme) (एनएसएसटींग के रूप में) और मैं इसे सफारी में खोलना चाहता हूं।आईफोन ओपन डेटा: सफारी में यूआरएल

data:text/html;base64,(Some Base64 Encoded Data Here) 
+0

यह यूआरएल दिखाने में मदद कर सकता है। शायद यह बुरी तरह से गठित किया गया है। –

+0

openURL काम करना चाहिए (कि क्या यह करने के लिए है है!) क्या हुआ जब आप openURL उपयोग करने की कोशिश? – hhafez

+0

मैं वास्तव में इस काम को देखा है ... यह अपने आप एटीएम काम नहीं कर सकते हैं, लेकिन कोशिश कर रहा ... – Jonny

उत्तर

6

iPhone OS 2.2.1 और 5.0.1 में, दोनों सिम्युलेटर और एक डिवाइस पर, एक डेटा खोलने: यूआरएल एक UIWebView में पूरी तरह से काम करता है लेकिन openURL का उपयोग कर ठीक कुछ नहीं करता है।

और सफारी खुशी से, और ठीक से, ऐसे यूआरएल प्रस्तुत करेगी यदि आप नेविगेशन बार में टाइप करने के इच्छुक हैं, तो यह स्पष्ट रूप से sharedApplication openURL के साथ एक समस्या है, सफारी के साथ नहीं।

base64 स्ट्रिंग इतना छोटा हो कि (2K से कम, शायद) है, तो आप एक http URL भी कि बस डेटा यूआरएल के लिए एक रीडायरेक्ट रिटर्न के लिए एक क्वेरी पैरामीटर के रूप में लपेट कर सकते हैं। फिर आप http यूआरएल खोलने के लिए openURL का उपयोग कर सकते हैं। हां, इसका मतलब कुछ सर्वर के माध्यम से उछाल रहा है, लेकिन यह काम करेगा।

वैकल्पिक रूप से, के बाद से सफारी स्पष्ट रूप से यह नहीं किया है, तो आप iPhone बता सकते हैं कि अपने एप्लिकेशन डेटा के लिए हैंडलर है: योजना और एक UIWebView में सामग्री प्रतिपादन के लिए जिम्मेदारी लेने के। हालांकि, भविष्य में यह असफल होने की संभावना है। :-)

डेटा यूआरएल पहले स्थान से कहां से आ रहा है? शायद आप एक वेब पेज बना सकते हैं जिनकी सामग्री <iframe src="<the data url>"/> से अधिक कुछ नहीं है और फिर, उस यूआरएल पर openURL का उपयोग करें।

-1

यह करना चाहिए::

NSURL *yourURL = [[NSURL alloc] initWithString:yourStr];  
[[UIApplication sharedApplication] openURL:yourURL]; 
[yourURL release]; 

संभालने "yourStr" यूआरएल जहां अपने डेटा स्थित है के साथ एक nSTRING है आप यह कैसे हासिल करेगी
उदाहरण (मैं openURL :. कोशिश की) ।

+0

काम नहीं करता - hhafez पद की टिप्पणियों को देखने। –

+0

एक तरीका है कि चारों ओर पाने के लिए सिर्फ एक UIWebView वस्तु में यह प्रदर्शित करने के लिए हो सकता है। यह मूल रूप से सफारी है, लेकिन पूरी तरह से अपने ऐप के भीतर है। – GoatRider

+0

मैं उपयोगकर्ता की जरूरत है पृष्ठ को बुकमार्क करने में सक्षम हो - तो सफारी एकमात्र विकल्प है। –

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