2015-11-26 11 views
11

मैं एसएफएसएफरी व्यू कंट्रोलर के साथ काम कर रहा हूं, और निम्न समस्या में भाग गया: उपयोगकर्ता को अपलोड छवि बटन के साथ प्रस्तुत किया जाता है, जब डिवाइस पर क्लिक किया जाता है तो कई विकल्प ठीक से प्रदर्शित होते हैं, जिनमें से एक कैमरा है। जब उपयोगकर्ता कैमरे का चयन करता है, तो यह कैमरा लोड करता है लेकिन स्क्रीन काली होती है, और एक्शन बटन गहरा हो जाता है। हालांकि यदि उपयोगकर्ता लाइब्रेरी का चयन करता है, तो चयनित छवि ठीक से अपलोड की जाती है।आईओएस 9 - एक्सकोड 7 - एसएफएसएफएरी व्यू कंट्रोलर - छवि अपलोड - कैमरा ब्लैक स्क्रीन

इस बात की पुष्टि की थी एप्लिकेशन कैमरा अनुमतियाँ चालू है।

मैंने here और here पाए गए फ़िक्स को कार्यान्वित करने का प्रयास किया, लेकिन इसका कोई फायदा नहीं हुआ।

किसी को भी किसी और मुठभेड़ इस मुद्दे?

कोड:

import UIKit 
import SafariServices 

class ViewController: UIViewController, SFSafariViewControllerDelegate 
{ 
    private var urlString:String = "https://example.com" 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func viewDidAppear(animated: Bool) 
    { 
     super.viewDidAppear(animated) 

     let svc = SFSafariViewController(URL: NSURL(string: self.urlString)!) 

     svc.delegate = self 

     self.presentViewController(svc, animated: true, completion: nil) 
    } 

    func safariViewControllerDidFinish(controller: SFSafariViewController) { 
     super.dismissViewControllerAnimated(true, completion: nil) 
    } 

    override func didReceiveMemoryWarning() 
    { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
} 

----- अद्यतन # 1 -----

गोपनीयता सेटिंग्स को रीसेट और कैमरे से सीधे छवि अपलोड करने की कोशिश कर के बाद, मैं नहीं मिल रहा है " SafariViewService कैमरे तक पहुंचना चाहेगा, जो मुझे लगता है कि समस्या हो सकती है। क्योंकि जब मैं स्वीकार करता हूं, स्क्रीन अभी भी काला है, तो मुझे आश्चर्य है कि यह क्यों नहीं कह रहा है कि मेरा ऐप नाम "फूबार" एक्सेस की तरह होगा ... शायद यह misalignment यही कारण है कि कैमरा स्क्रीन काला है। बस यह सुनिश्चित नहीं है कि इसे कैसे बदला जाए।

----- # 2 -----

इस रूप में मैं WKWebView लागू किया और कैमरे ठीक काम करता है, एक SFSafariViewController मुद्दा प्रतीत होता है अद्यतन।

+0

अपलोड छवि बटन SFSafariViewController के भीतर या नीचे स्थित टूल बार में एक विकल्प के रूप में प्रकट होता है करता है? मैंने कोड के ऊपर कोशिश की और यह कोई भी अपलोड छवि बटन नहीं दिखा रहा है। –

+0

क्या आप 2 व्यू कंट्रोलर का उपयोग कर रहे हैं या इसके लिए सिर्फ एक? मुझे यकीन है कि आप इसके बारे में जानते हैं लेकिन: सफारी के विपरीत, SFSafariViewController UI को एक पृष्ठ प्रदर्शित करने के लिए तैयार किया गया है, जिसमें एक पूर्ण बटन है जो उपयोगकर्ताओं को आपके ऐप में वापस ले जाता है। यदि आपका ऐप वेब सामग्री प्रदर्शित करता है , लेकिन उस सामग्री को कस्टमाइज़ नहीं करता है, अपने WKWebView या UIWebView- आधारित ब्राउज़र को SFSafariViewController के साथ बदलने पर विचार करें। 'आप अपने आप को उस पृष्ठ पर ले जा सकते हैं जो अभी तक मौजूद नहीं है। – lukaivicev

+0

@ManishVerma: बटन मूल आईओएस नहीं है, बल्कि यह वेबव्यू से फ़ाइल अपलोड बटन है। –

उत्तर

3

जाहिरा तौर पर SFSafariViewController के साथ एक ज्ञात बग (मैं एक रडार जो बंद कर दिया गया प्रस्तुत की है) है। मुझे एक ही समस्या का सामना करना पड़ा कि हमारी मोबाइल वेबसाइट डिवाइस से कुछ भी प्राप्त करने में असमर्थ थी, न कि कैमरे के रोल से चित्रित तस्वीर के लिए कैमरा। यह सफारी और SFSafariViewController में जारी था, इसलिए हमने देशी वीसी और Parse के माध्यम से पूरी अपलोड प्रक्रिया को फिर से शुरू कर दिया। हालांकि, मुझे यह सब करने से पहले तकनीकी सहायता से कुछ सुझाव मिले और उन्होंने मुझे निम्नलिखित कोशिश करने के लिए कहा:

  1. दूसरे डिवाइस से जांचें। कभी-कभी अनुमतियों में गलती के कारण यह केवल एक डिवाइस पर एक बग हो सकता है। दूसरी डिवाइस के साथ जांच की जा रही विकल्प को बाहर रखना चाहिए कि कुछ गलत हो पर स्थापना
  2. चेक सेटिंग्स में एप्लिकेशन की अनुमतियां चला गया। उन्होंने मुझे बताया कि यदि उपयोगकर्ता ने कैमरे का उपयोग करने की अनुमति अस्वीकार कर दी तो कभी-कभी खाली स्क्रीन आ गई। यह जांचने के लिए कि क्या यह मामला है, सेटिंग्स खोलें, नीचे स्क्रॉल करें और अपना ऐप चुनें। यहां आपको एक चालू/बंद टॉगल देखना चाहिए, जो दोनों को इंगित करना चाहिए। जैसा कि नीचे स्क्रीनशॉट में देखा गया है। screenshot

लेकिन, मेरा दो सेंट होगा:

  1. बजाय एक UIWebView या WKWebview उपयोग पर विचार करें। आपने कहा कि आपकी साइट मोबाइल के अनुकूल है, तो आप बस अपने स्टोरीबोर्ड में UIWebview खींचकर और अपनी साइट पर इंगित करने के लिए इसे सेट अप करने पर विचार कर सकते हैं। Here UIWebviews पर एक अच्छा ट्यूटोरियल है। WKWebview का उपयोग करने के लिए दूसरा, अधिक स्पष्ट विकल्प होगा। आपके अपडेट में, आपने पहले ही यह बताया है कि आपने यह किया है, इसलिए मैं आपको किसी भी ट्यूटोरियल से लिंक नहीं करूंगा।

अन्यथा ऐप्पल को उनके Bug Reporter के साथ एक और रडार दर्ज करने के अलावा, अभी आप इतना कुछ नहीं कर सकते हैं। अंत में, आप तकनीकी सहायता के लिए टिकट जमा कर सकते हैं, हालांकि मैं उनमें से किसी को भी बर्बाद नहीं करता क्योंकि आपके पास केवल प्रति सदस्यता वर्ष 2 है।

आशा है कि मदद करता है, जूलियन

+0

बहुत मदद करता है, प्रतिक्रिया की सराहना करते हैं। इस बिंदु पर मैं बेहतर जावास्क्रिप्ट इंजन का लाभ उठाने के लिए wkwebview पर जा रहा हूं। –

+0

ठीक है। हाँ, WKWebview UIWebview के बाद भी काफी तेज़ है। खुशी है कि मैं मदद कर सकता हूँ! –

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