में नहीं, मैं SOAP web service
का उपयोग कर अपने सर्वर में लॉगिन करता हूं। एक बार लॉग इन करने के बाद, मैं देख रहा हूं कि कई फाइलें केवल लॉग इन उपयोगकर्ता के लिए उपलब्ध हैं, इसलिए आईओएस को NSURL
या कुछ में सत्र बनाना होगा।आईओएस: वीडियो चलाने के लिए जो प्रमाणीकरण की आवश्यकता है QuickLook में काम करता है लेकिन MPMoviePlayerViewController
जब एक वीडियो फ़ाइल MPMoviePlayerViewController
का उपयोग कर यह काम नहीं करेगा पूर्वावलोकन करने के लिए कोशिश कर रहा है, यह सिर्फ ViewController अप लोड हो जाता है, तो यह खारिज।
यदि मैं QuickLook
का उपयोग करता हूं तो यह काम करता है, शायद इसलिए कि मैं स्थानीय रूप से वीडियो डाउनलोड करता हूं, फिर इसे देखें।
लेकिन, मैं इसे इस तरह से करने के लिए नहीं करना चाहते, मैं वीडियो MPMoviePlayerViewController
का उपयोग कर, क्योंकि मैं उपयोगकर्ता एक पूरे वीडियो फ़ाइल डाउनलोड करने के लिए है नहीं करना चाहती स्ट्रीम करने के लिए चाहते हैं। मैंने NSURLCredential
का उपयोग करने के बारे में पोस्ट देखी हैं लेकिन यह मेरे लिए काम नहीं कर रहा है।
/**
* Play media session
*
* @version $Revision: 0.1
*/
- (void)playMediaWithURL:(NSString *)mediaURL {
// Authenticate
NSURLCredential *credential = [NSURLCredential credentialWithUser:@"myusername"
password:@"mypassword"
persistence:NSURLCredentialPersistenceForSession];
NSURLProtectionSpace *protectionSpace = [[NSURLProtectionSpace alloc]
initWithHost:@"mysite.com"
port:80
protocol:@"http"
realm:nil
authenticationMethod:NSURLAuthenticationMethodDefault];
[[NSURLCredentialStorage sharedCredentialStorage] setDefaultCredential:credential forProtectionSpace:protectionSpace];
// The movie player
NSURL *movieURL = [NSURL URLWithString:[mediaURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
MPMoviePlayerViewController *tempPlayer = [[MPMoviePlayerViewController alloc]initWithContentURL:movieURL];
// Add observer
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
// Properties
tempPlayer.moviePlayer.allowsAirPlay = YES;
tempPlayer.moviePlayer.shouldAutoplay = YES;
tempPlayer.moviePlayer.useApplicationAudioSession = NO;
[self presentMoviePlayerViewControllerAnimated:tempPlayer];
[tempPlayer.moviePlayer play];
}//end
के बाद से इस वीडियो को केवल एक उपयोगकर्ता में लॉग इन करके देखा जा सकता है, अगर वीडियो URL एक सार्वजनिक उपयोगकर्ता द्वारा पहुँचा है, वे प्रवेश करने के लिए एक HTML फार्म के साथ प्रस्तुत कर रहे हैं है: मैं (अपने स्वयं के व्यक्तिगत जानकारी स्पष्ट रूप से जोड़ा) का इस्तेमाल किया । क्या NSURLCredential
इस मामले में काम नहीं करता है?
मेरे लॉग इन क्रेडेंशियल्स (जैसे वीडियो डाउनलोड करने) का उपयोग करके NSURLConnection
काम करने के लिए सभी कॉल क्यों करें, लेकिन MPMoviePlayerViewController
उन समान प्रमाण-पत्रों का उपयोग नहीं करते हैं, और वीडियो चलाने से इनकार करते हैं (संभवतः क्योंकि यह लॉगिन प्राप्त करता है पृष्ठ)?
क्या इसका कोई समाधान है?
+1 अच्छे प्रश्न के लिए +1 - उत्तर पर उत्सुक। आम तौर पर, MPMoviePlayerController (जैसे एवीप्लेयर जो पूर्व पर निर्भर करता है) ऐसा साझा, उच्च स्तरीय नेटवर्किंग कार्यक्षमताओं का अधिक उपयोग नहीं करता है। – Till
मैं अपने आईओएस देव समर्थन टिकटों में से एक का उपयोग कर रहा हूं और इस सवाल को ऐप्पल को भेज दिया। देखेंगे कि वे क्या कहते हैं .. –
इस पर कोई खबर? – Till