14

मैं एक पूर्ण-स्क्रीन आईफ़ोन अनुकूलित वेब ऐप बना रहा हूं। इसे होमपेज से मूल ऐप की तरह लॉन्च किया जाता है और निम्नलिखित निर्देशों के माध्यम से एक स्टैंडअलोन ऐप की तरह व्यवहार करता है, लेकिन यह सिर्फ सादा एचटीएमएल/सीएसएस/जावास्क्रिप्ट है, कोई फोनगैप शामिल नहीं है।आईफोन वेब ऐप्स में OAuth कॉलबैक

<meta name="apple-mobile web-app-capable" content="yes" /> 

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

+0

सिर्फ यह कहना चाहता था कि किसी ऐप को प्रोग्रामेटिक रूप से फिर से लॉन्च करने का कोई तरीका नहीं है (शायद आप जेलब्रोकन डिवाइस पर हो सकते हैं लेकिन सामान्य परिस्थितियों में नहीं) – mattacular

+0

बस स्पष्ट करने के लिए। चूंकि आप एक वेब ऐप बना रहे हैं, आप पहले ही मोबाइल सफारी में हैं। क्या आप कहने का मतलब है कि सफारी में एक नए पेज में प्रमाणीकरण पृष्ठ खुलता है? –

+2

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

उत्तर

14

मुझे हाल ही में एक ही समस्या आई है, और पाया कि यदि आप window.location.href="http://example.com/whatever" के साथ जावास्क्रिप्ट में यूआरएल सेट करते हैं तो आईओएस सफारी में नहीं जाता है। मैंने पेपैल चेकआउट और फेसबुक लॉगिन को इस विधि का उपयोग करके सफारी में स्विच किए बिना स्टैंडअलोन वेब ऐप्स में काम करने में कामयाब रहा है! यदि आप कोई फॉर्म सबमिट कर रहे हैं, तो जेएस के माध्यम से भी ऐसा करें और प्रतिक्रिया से रीडायरेक्ट यूआरएल प्राप्त करें और फिर स्थान सेट करें। बाद में आपके ऐप को वापस सौंपने के लिए, यह इस बात पर निर्भर करता है कि बाहरी सेवा कैसे काम करती है।

यदि यह अच्छा नहीं है, तो आप सफारी में स्विच करने से पहले पॉप-अप alert('You will be passed to Safari for authentication. Reload this app afterwards.') कर सकते हैं। अच्छा नहीं है, लेकिन ऐप्स को स्वचालित रूप से स्विच करने के साथ आश्चर्यचकित करने से बेहतर!

+0

Google OAuth अभी भी कुछ खाता स्कोप (उदा। Https://www.googleapis.com/auth/youtube) का अनुरोध करने के लिए "खाता चुनें" स्क्रीन से सफारी में स्विच करने पर जोर देता है और आपके पास अपने लॉगिन से जुड़े कई खाते हैं। – Dunc

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