2015-09-22 7 views
20

मैं एक ऐप्स जहां मैं एक HTTP अनुरोधIOS9 त्रुटि

<NSURLConnection: 0x12d755110> { request: <NSMutableURLRequest: 0x12d754e10> { URL: http://XX.XX.XX.XXX/webService/dataService.svc/SearchLocation } }

मारा अब, जब भी ऊपर अनुरोध मैं निम्नलिखित त्रुटि मिलती है और किया जाता है है "यह एप्लिकेशन योजना cydia के लिए क्वेरी करने के लिए अनुमति नहीं है" प्रतिक्रिया में कोई डेटा प्राप्त नहीं हुआ है। 60 सेकेंड के बाद मुझे "Time Out error" मिलता है। यह आईओएस 8 और नीचे ठीक काम कर रहा है लेकिन जीओएस आईओएस 9 काम नहीं कर रहा है। क्या कोई मुझे बता सकता है कि मुझे इस मुद्दे के साथ और क्या करना है। इसके अलावा, मैं Info.plist में iOS9 के लिए एटीएस के बारे में निम्न परिवर्तन किया है, लेकिन अभी भी समस्या का सामना करना पड़। कृपया मुझे बताएं कि इसे कैसे ठीक किया जाए? अग्रिम में धन्यवाद।

Info.plist

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
     <true/> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <key>NSTemporaryExceptionMinimumTLSVersion</key> 
     <string>TLSv1.1</string> 
    </dict> 

त्रुटि

2015-09-22 22:19:58.333 App[751:139449] regionDidChangeAnimated>>>>>>>>>>>>>>>>>: = 40.844278,-74.130561 
2015-09-22 22:19:58.344 App[751:139449] Reachability Flag Status: -R ------- networkStatusForFlags 
2015-09-22 22:19:58.350 App[751:139449] request:<SearchLocation><DeviceKeyUDID>My Device UDID</DeviceKeyUDID><SecretKey>SecretKey/SecretKey><ListingType>LOCATION</ListingType><PageIndex>1</PageIndex><MaxNoOfRecords>20</MaxNoOfRecords><Latitude>40.844276</Latitude><Longitude>-74.130562</Longitude><Distance>25</Distance><Address></Address><SearchText></SearchText></SearchLocation > 
2015-09-22 22:19:58.357 App[751:139449] -canOpenURL: failed for URL: "cydia://package/com.fake.package" - error: "This app is not allowed to query for scheme cydia" 
2015-09-22 22:19:58.945 App[751:139449] theXML contains: 
2015-09-22 22:19:58.959 App[751:139449] refreshLocationList maxRecordsSelected:::::::::::::20 
2015-09-22 22:19:58.960 App[751:139449] refreshLocationList maxNumOfRecords:::::::::::::20 
2015-09-22 22:19:58.960 App[751:139449] refreshLocationList LocationCount::::::::::::::0 
2015-09-22 22:19:58.960 App[751:139449] isTempleMaxRecordChanged :::::::::::::0 
+0

मुझे यह समस्या केवल तभी होती है जब एमुलेटर पर एप चलाया जाता है। क्या आपने इसे हल किया है? –

उत्तर

10

यह समस्या केवल iOS 9 में क्या होता है के बाद से एप्पल कुछ यूआरएल योजनाओं को प्रभावित परिवर्तन किए।

मुझे लगता है कि अपने पुस्तकालयों में से एक है, तो आप पता चल सके कि यह cydia खोल सकते हैं द्वारा एक जेलब्रेक डिवाइस पर चल रहे हैं देखने के लिए जाँच कर रहा है: // URL ...

"ऊपर तक आईओएस 9, क्षुधा किया गया है किसी भी मनमाने ढंग से यूआरएल पर इन तरीकों कॉल कर पाएंगे। आईओएस 9 से, क्षुधा की घोषणा करने के क्या यूआरएल योजनाओं वे के लिए जाँच करने के लिए और एप्लिकेशन के विन्यास फाइल में सक्षम खुला होना चाहते हैं के रूप में यह एप्पल "

को प्रस्तुत करना होगा

लिंक: http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes

+3

ऐप्पल एक सबमिशन को अस्वीकार कर देगा अगर ऐप के प्लेस्ट में श्वेतसूची में "साइडिया" जोड़ा जाता है? – frankish

+0

@ फ्रैंकिश - क्या ऐप्पल एक सबमिशन को अस्वीकार कर देगा अगर ऐप के प्लेस्ट में श्वेतसूची में "साइडिया" जोड़ा जाता है? – Vijay

21

पहले समाधान: - सिर्फ

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

दूसरा समाधान अपने Info.plist में bellow कोड जोड़ें: -

कोई भी ऐप एसडीके 9 जरूरतों के साथ बनाया गया है अपने plist फ़ाइल में एक LSApplicationQueriesSchemes प्रविष्टि प्रदान करने के लिए, और घोषणा की जो योजनाएं यह करने का प्रयास क्वेरी।

<key>LSApplicationQueriesSchemes</key> 
<array> 
<string>urlscheme</string> 
<string>urlscheme2</string> 
<string>urlscheme3</string> 
<string>urlscheme4</string> 
</array> 

दो ऐप्स टेस्टा और टेस्टबी मानते हैं। टेस्टबी जांचना चाहता है कि टेस्टए स्थापित है या नहीं।

[[UIApplication sharedApplication] 
        canOpenURL:[NSURL URLWithString:@"TestA://"]]; 

लेकिन इस: फोन करके

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>testA</string> 
     </array> 
    </dict> 
</array> 

दूसरे एप्लिकेशन "TestB" "टेस्टा" स्थापित किया गया है, तो यह पता लगाने की कोशिश करता है: "टेस्टा" अपने Info.plist फ़ाइल में निम्न URL योजना को परिभाषित करता है क्योंकि "टेस्टा" TestB के Info.plist फ़ाइल में LSApplicationQueriesSchemes प्रविष्टि के लिए जोड़ा जा करने की जरूरत है सामान्य रूप से iOS9 में कोई वापस आ जाएगी। यह TestB के Info.plist फ़ाइल में निम्न कोड जोड़ने द्वारा किया जाता है:

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>TestA</string> 
</array> 
0

Splunk टकसाल ढांचा हटाएँ अगर आप इसे परियोजना में जोड़ा क्योंकि Xcode 7 ढांचे का समर्थन नहीं करता है।

इसके अलावा अपने लिए इस कुंजी जोड़ें।plist:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 
संबंधित मुद्दे