2015-04-23 8 views
10

के साथ समस्या मैंने अभी कोड Five कोड और ऐप क्रैश लिखा है। मैं कई बार जांचता हूं लेकिन मैं कोड में बग को ट्रैक करने में असमर्थ हूं।फिलिप्स ह्यू ऐप्पल एसडीके

मैं कोई त्रुटि नहीं जोड़ा है framework..No चेतावनी लेकिन क्यों लानत ऐप्लिकेशन क्रैश: के रूप में

#import "ViewController.h" 
#import <HueSDK_iOS/HueSDK.h> 

@interface ViewController() 

@property (strong, nonatomic) PHHueSDK *phHueSDK; 
@property (nonatomic, strong) PHBridgeSearching *bridgeSearch; 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.phHueSDK = [[PHHueSDK alloc] init]; //Line 1 

    [self.phHueSDK enableLogging:YES]; //Line 2 

    [self.phHueSDK startUpSDK]; //Line 3 

    self.bridgeSearch = [[PHBridgeSearching alloc] initWithUpnpSearch:YES andPortalSearch:YES andIpAdressSearch:YES]; //Line 4 

// Start search for bridges 
[self.bridgeSearch startSearchWithCompletionHandler:^(NSDictionary *bridgesFound) { 
    // Search is complete, handle results (dictionary contains IP and mac addresses of bridges found) 
}]; Line 5 

} 
@end 

क्रैश लॉग ...

2015-04-23 17:15:58.750 FreshHUE[8298:161234] -[__NSCFString objectFromJSONString]: unrecognized selector sent to instance 0x7fb9fa547d60 
2015-04-23 17:15:58.849 FreshHUE[8298:161234] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objectFromJSONString]: unrecognized selector sent to instance 0x7fb9fa547d60' 
*** First throw call stack: 
(
     0 CoreFoundation      0x0000000106512c65 __exceptionPreprocess + 165 
     1 libobjc.A.dylib      0x00000001061a9bb7 objc_exception_throw + 45 
     2 CoreFoundation      0x000000010651a0ad -[NSObject(NSObject) doesNotRecognizeSelector:] + 205 
     3 CoreFoundation      0x000000010647013c ___forwarding___ + 988 
     4 CoreFoundation      0x000000010646fcd8 _CF_forwarding_prep_0 + 120 
     5 FreshHUE       0x0000000105c01cdd __38-[PHBridgeSearching startPortalSearch]_block_invoke + 332 
     6 FreshHUE       0x0000000105c006ac -[PHHttpRequester connectionDidFinishLoading:] + 101 
     7 CFNetwork       0x000000010859c0bc __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 69 
     8 CFNetwork       0x000000010859c060 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 199 
     9 CFNetwork       0x000000010859c1c7 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 48 
     10 CFNetwork       0x000000010846b757 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 107 
     11 CFNetwork       0x0000000108538de1 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 273 
     12 CFNetwork       0x0000000108456a26 _ZN19RunloopBlockContext13_invoke_blockEPKvPv + 72 
     13 CoreFoundation      0x0000000106419354 CFArrayApplyFunction + 68 
     14 CFNetwork       0x00000001084568e7 _ZN19RunloopBlockContext7performEv + 133 
     15 CFNetwork       0x0000000108456726 _ZN17MultiplexerSource7performEv + 256 
     16 CFNetwork       0x000000010845653c _ZN17MultiplexerSource8_performEPv + 72 
     17 CoreFoundation      0x0000000106446431 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
     18 CoreFoundation      0x000000010643c2fd __CFRunLoopDoSources0 + 269 
     19 CoreFoundation      0x000000010643b934 __CFRunLoopRun + 868 
     20 CoreFoundation      0x000000010643b366 CFRunLoopRunSpecific + 470 
     21 Foundation       0x0000000105d5ef92 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 275 
     22 FreshHUE       0x0000000105c00fc7 __32-[PHBridgeSearching startSearch]_block_invoke + 253 
     23 libdispatch.dylib     0x0000000108cd0186 _dispatch_call_block_and_release + 12 
     24 libdispatch.dylib     0x0000000108cef614 _dispatch_client_callout + 8 
     25 libdispatch.dylib     0x0000000108cd9552 _dispatch_root_queue_drain + 1768 
     26 libdispatch.dylib     0x0000000108cdab17 _dispatch_worker_thread3 + 111 
     27 libsystem_pthread.dylib    0x00000001090746cb _pthread_wqthread + 729 
     28 libsystem_pthread.dylib    0x00000001090724a1 start_wqthread + 13 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

अद्यतन

जब सवाल का मैं लाइन 4 को बदलता हूं (पोर्टल सर्च को नहीं सेट करता) मेरा ऐप ठीक चलाता है..लेकिन मुझे पोर्टल सर्च चाहिए और यह क्यों हो रहा है

self.bridgeSearch = [[PHBridgeSearching alloc] initWithUpnpSearch:YES andPortalSearch:NO andIpAdressSearch:YES]; //Line 4 
+0

उपरोक्त कोड में कोई दुर्घटना बिंदु नहीं है। दिखाएं कि पूरा करने वाला हैडलर ब्लॉक। मुझे लगता है कि त्रुटि है। – Mani

+0

पूर्णता ब्लॉक में कुछ भी नहीं है ... मैंने यह कोड केवल – Dalvik

उत्तर

10

फिलिप्स द्वारा प्रदान किए गए नमूना ऐप में पूरी रात बिताने के बाद मैं त्रुटि का पता लगाने में सक्षम हूं।

PHILIPS रंग की आधिकारिक दस्तावेज वे हम -ObjC लिंकर झंडा

जोड़ने के लिए है कि उल्लेख नहीं किया है -ObjC लिंकर करें हल जोड़ना मेरी समस्या

1

प्रश्न

मैं जब Phillips Hue IOS Stack का उपयोग कर एक अपरिचित चयनकर्ता हो रही है। क्या कोई इस के साथ सहायता कर सकता है?

2015-04-23 17:15:58.750 FreshHUE[8298:161234] -[__NSCFString objectFromJSONString]: unrecognized selector sent to instance 0x7fb9fa547d60 
2015-04-23 17:15:58.849 FreshHUE[8298:161234] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objectFromJSONString]: unrecognized selector sent to instance 0x7fb9fa547d60' 
*** First throw call stack: 
(
     0 CoreFoundation      0x0000000106512c65 __exceptionPreprocess + 165 
     1 libobjc.A.dylib      0x00000001061a9bb7 objc_exception_throw + 45 
     2 CoreFoundation      0x000000010651a0ad -[NSObject(NSObject) doesNotRecognizeSelector:] + 205 
     3 CoreFoundation      0x000000010647013c ___forwarding___ + 988 
     4 CoreFoundation      0x000000010646fcd8 _CF_forwarding_prep_0 + 120 
     5 FreshHUE       0x0000000105c01cdd __38-[PHBridgeSearching startPortalSearch]_block_invoke + 332 
     6 FreshHUE       0x0000000105c006ac -[PHHttpRequester connectionDidFinishLoading:] + 101 
     7 CFNetwork       0x000000010859c0bc __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 69 
     8 CFNetwork       0x000000010859c060 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 199 
     9 CFNetwork       0x000000010859c1c7 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 48 
     10 CFNetwork       0x000000010846b757 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 107 
     11 CFNetwork       0x0000000108538de1 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 273 
     12 CFNetwork       0x0000000108456a26 _ZN19RunloopBlockContext13_invoke_blockEPKvPv + 72 
     13 CoreFoundation      0x0000000106419354 CFArrayApplyFunction + 68 
     14 CFNetwork       0x00000001084568e7 _ZN19RunloopBlockContext7performEv + 133 
     15 CFNetwork       0x0000000108456726 _ZN17MultiplexerSource7performEv + 256 
     16 CFNetwork       0x000000010845653c _ZN17MultiplexerSource8_performEPv + 72 
     17 CoreFoundation      0x0000000106446431 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
     18 CoreFoundation      0x000000010643c2fd __CFRunLoopDoSources0 + 269 
     19 CoreFoundation      0x000000010643b934 __CFRunLoopRun + 868 
     20 CoreFoundation      0x000000010643b366 CFRunLoopRunSpecific + 470 
     21 Foundation       0x0000000105d5ef92 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 275 
     22 FreshHUE       0x0000000105c00fc7 __32-[PHBridgeSearching startSearch]_block_invoke + 253 
     23 libdispatch.dylib     0x0000000108cd0186 _dispatch_call_block_and_release + 12 
     24 libdispatch.dylib     0x0000000108cef614 _dispatch_client_callout + 8 
     25 libdispatch.dylib     0x0000000108cd9552 _dispatch_root_queue_drain + 1768 
     26 libdispatch.dylib     0x0000000108cdab17 _dispatch_worker_thread3 + 111 
     27 libsystem_pthread.dylib    0x00000001090746cb _pthread_wqthread + 729 
     28 libsystem_pthread.dylib    0x00000001090724a1 start_wqthread + 13 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

उत्तर

ज्यादातर मामलों में, इस सवाल का जवाब कारण कोड में जानकारी से संबंधित है। इस उदाहरण के लिए कहा गया कारण है:

'-[__NSCFString objectFromJSONString]: unrecognized selector sent to instance 0x7fb9fa547d60' 

जिसे तुरंत आपके कोड द्वारा नहीं बुलाया जाता है। इस मामले में मेरा मानना ​​है कि ऐसा हो रहा है क्योंकि आपका ईवेंट लाइफसाइक्ल गलत है। मुझे लगता है कि नमूना ऐप में दिखाए गए एक से आपका पैटर्न अलग है। मुझे लगता है कि आपको लाइन 2 और 3 को स्वैप करने की आवश्यकता है। आप इसे शुरू करने से पहले एसडीके पर एक संपत्ति सेट करने का प्रयास कर रहे हैं।

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

अद्यतन:

टिप्पणी निष्कर्ष यह है कि वहाँ एक आंतरिक रेस स्थिति एसडीके में क्या हो रहा हो सकता है समर्थन करने के लिए लगता है। मैं ऐपडिलेगेट को नोट करते हुए संपत्ति और पहली तीन पंक्तियों को स्थानांतरित करने का सुझाव देता हूं और देखता हूं कि पोर्टल खोज YES पर सेट होने पर यह काम करेगा या नहीं।

+0

लिखा है, मैंने यहां से अनुक्रम का पालन किया है। Http://www.developers.meethue.com/documentation/apple-api-guide – Dalvik

+0

और सेट में कब पोर्टल सर्च टू .. तो मेरा कोड ठीक काम करता है – Dalvik

+0

मैंने लाइनों को बदल दिया लेकिन कुछ नहीं हुआ ..और नमूना ऐप मेरे सिस्टम – Dalvik

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