2015-03-07 10 views
5

मैंने 4 त्रुटियों के लिए रिपोर्ट देखी है लेकिन 5 के लिए नहीं। जब मैं "ओपनपेरेंट एप्लिकेशन: उत्तर" अनुरोध का उपयोग करने की कोशिश कर रहा हूं तो मुझे इसे एक कंसोल संदेश के रूप में मिलता है। यह जानने के लिए लॉग में पर्याप्त जानकारी नहीं है कि समस्या आईओएस कोड, डब्ल्यूके कोड या सिम्युलेटर में है या नहीं। मैंने सिम को फिर से शुरू कर दिया है, और परियोजना को साफ किया है। कोई विचार?आईओएस त्रुटि: FBSOpenAplicationErrorDomain त्रुटि 5. इसका क्या अर्थ है?

WK कोड:

- (IBAction)sendRequest { 

    NSDictionary *request = @{@"request":@"Request1"}; 

    [InterfaceController openParentApplication:request reply:^(NSDictionary *replyInfo, NSError *error) { 

     if (error) { 
      NSLog(@"%@", error); 
     } else { 

      [self.label1 setText:[replyInfo objectForKey:@"response1"]]; 
      [self.label2 setText:[replyInfo objectForKey:@"response2"]]; 
      [self.label3 setText:[replyInfo objectForKey:@"response3"]]; 
     } 

    }]; 
} 

आईओएस कोड:

- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply{ 

    NSLog(@"%s", __FUNCTION__); 
    //([max intValue] - [min intValue]) + [min intValue] 

    int randNum1 = arc4random_uniform(16); 
    int randNum2 = arc4random_uniform(16); 
    int randNum3 = arc4random_uniform(16); 


    NSString *num1 = [NSString stringWithFormat:@"Test%d", randNum1]; 
    NSString *num2 = [NSString stringWithFormat:@"Test%d", randNum2]; 
    NSString *num3 = [NSString stringWithFormat:@"Test%d", randNum3]; 

    if ([[userInfo objectForKey:@"request"] isEqualToString:@"Request1"]) { 

     NSLog(@"containing app received message from watch: Request1"); 


     NSDictionary *response = @{@"response1" : num1, @"response2" : num2, @"response3" : num3}; 
     reply(response); 
    } 

} 

केवल सांत्वना लॉग है:

WatchKit Extension[48954:9523373] Error Domain=FBSOpenApplicationErrorDomain Code=5 "The operation couldn’t be completed. (FBSOpenApplicationErrorDomain error 5.) 
+2

ठीक है। जैसा कि वादा किया गया है, उत्तर निम्नानुसार है: info.plist में, मेरे पास "पृष्ठभूमि में एप्लिकेशन नहीं चलाया गया" था YES पर सेट किया गया था। इससे समस्या हुई। उस सेटिंग को किसी भी तय करने के लिए इसे बदलना। AppleDev मंचों पर फैबर के लिए धन्यवाद। –

उत्तर

1

मैं तुम्हें सरल करने के लिए कोशिश सुझाव है। मैंने स्विफ्ट में here की एक बहुत ही समस्या का उत्तर दिया है। मैं निम्नलिखित करने के लिए तर्क को आसान बनाने में होगा:

WK कोड

- (IBAction)sendRequest { 
    [InterfaceController openParentApplication:request reply:^(NSDictionary *replyInfo, NSError *error) { 
     NSLog(@"Reply Info: %@", replyInfo); 
     NSLog(@"Error: %@", error); 
    }]; 
} 

आईओएस कोड

- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply { 
    NSDictionary *response = @{@"replyKey" : @"replyValue"}; 
    reply(response); 
} 

बार जब आप इस काम की है, तो अतिरिक्त पार्स पर एक कदम जोड़ना शुरू एक वक़्त। these निर्देशों का पालन करके आप कॉल के माध्यम से कदम उठाने के लिए आईओएस ऐप में डिबगर भी संलग्न कर सकते हैं। आप आईओएस ऐप पर उत्तर ब्लॉक नहीं बुला रहे हैं और आप इसे भी नहीं जानते हैं।

+0

उत्तर देने के लिए धन्यवाद। मैं उस दिशा में आगे बढ़ रहा हूं। मेरा मानना ​​है कि मैं जवाब ब्लॉक में जा रहा हूं क्योंकि मैंने त्रुटि लॉग कर दी है।यह वहां होता है। लेकिन मैं आपके विचारों के माध्यम से अधिक ध्यान से जाऊंगा .. –

+0

यह दिलचस्प है, एनएसएलओजी (@ "उत्तर जानकारी:% @", answerInfo) से प्रतिक्रिया; शून्य है .. मुझे आश्चर्य है कि अगर मुझे कुछ याद आया है .. मेरे पास कनेक्शन एक छोटे से टेस्ट प्रोजेक्ट में काम कर रहा है, और मुझे कोई अंतर नहीं दिख रहा है - सिवाय इसके कि अन्य ऐप को शुरुआत से डब्लूके इंस्टॉल किया गया था, नहीं पर बोल्ट क्या आपको लगता है कि इस समस्या से कोई लेना देना है? –

+0

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

5

मुझे आज भी एक ही समस्या का सामना करना पड़ा। सिम्युलेटर से

  • हटाए गए एप्लिकेशन
  • रीसेट सिम्युलेटर
  • को पुन: प्रारंभ XCode
  • info.plist

में किए गए परिवर्तनों लेकिन जब मैं Production में एप्लिकेशन भाग गया, यह काम किया। ऐप सिम्युलेटर के साथ उत्पादन मोड में अच्छी तरह से चल रहा था।

enter image description here

इसके बाद, मैं मौजूदा dev मोड योजना को नष्ट कर दिया और एक अन्य dev मोड योजना बनाई है और यह काम किया। फिर यह मुझे याद दिलाता है कि ऐप में पृष्ठभूमि लाने की सुविधा को लागू करते समय, मैंने Dev योजना में विकल्प Launch due to a background fetch event विकल्प चेक किया। बाद में मैंने Background Fetch छोड़ दिया लेकिन इस विकल्प को अनचेक करना भूल गया।

enter image description here

+0

मुझे लगता है कि आपको इसका उपयोग करने में सक्षम होने के लिए एक एंटाइटेलमेंट स्थापित करने की आवश्यकता है। किसी भी मामले में, एक्सकोड को रिपोर्ट करनी चाहिए कि क्यों वह ऐप लॉन्च नहीं कर सकता है, इसके बजाए या "त्रुटि 5" की रिपोर्ट कर रहा है। मैं आज एक्सकोड 7.3 के साथ इस में भाग गया क्योंकि मैंने इस योजना विकल्प की जांच की थी। –

1

मेरे मामले केवल सिम्युलेटर छोड़ने में समस्या हल हो गई।

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