<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CentralManagerDelegate&amp;#39;s didConnect doesn&amp;#39;t get called after a dfuError occurs during DFU Process.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/44255/centralmanagerdelegate-s-didconnect-doesn-t-get-called-after-a-dfuerror-occurs-during-dfu-process</link><description>I have a complete implementation of OTA DFU where iOS app performs a DFU to a nRF based BT Device. Now i am implementing a fix for the situation where: 
 
 During DFU, if peripheral&amp;#39;s power turns off. 
 
 The desired behavior is when the disconnection</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 01 Mar 2019 19:01:44 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/44255/centralmanagerdelegate-s-didconnect-doesn-t-get-called-after-a-dfuerror-occurs-during-dfu-process" /><item><title>RE: CentralManagerDelegate's didConnect doesn't get called after a dfuError occurs during DFU Process.</title><link>https://devzone.nordicsemi.com/thread/173776?ContentTypeID=1</link><pubDate>Fri, 01 Mar 2019 19:01:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bffa24b4-c0a9-46dc-8b4e-700d8115a1d1</guid><dc:creator>Usama Aftab</dc:creator><description>&lt;p&gt;It is exactly what it was. After the DFUServiceInitiator process finishes or gets an error, central manager was still in the dirty state. I have to re-attach the delegate and then everything worked fine. &lt;br /&gt;&lt;br /&gt;I will update my library to 4.3.0.&lt;br /&gt;&lt;br /&gt;Thanks for the help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CentralManagerDelegate's didConnect doesn't get called after a dfuError occurs during DFU Process.</title><link>https://devzone.nordicsemi.com/thread/173691?ContentTypeID=1</link><pubDate>Fri, 01 Mar 2019 11:47:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6a6faddc-269d-45e6-bc29-97abbf439a52</guid><dc:creator>Aleksander Nowakowski</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;If you are using the now-deprecated init of DfuServiceInitiator: &lt;a href="https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/blob/422caf59d89f1ded7e9f403f17a5ea863b6b40ff/iOSDFULibrary/Classes/Implementation/DFUServiceInitiator.swift#L227"&gt;https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/blob/422caf59d89f1ded7e9f403f17a5ea863b6b40ff/iOSDFULibrary/Classes/Implementation/DFUServiceInitiator.swift#L227&lt;/a&gt; you need to restore your CBCentralManager&amp;#39;s delegate when DFU is complete, an error happen, or has been aborted. With the new init method below this is no longer required and the library is using it&amp;#39;s own CBCentralManager instance, so no delegates are being stolen from the app.&lt;/p&gt;
&lt;p&gt;If you see that after dfuError your device started advertising it mush have disconnected. If you see it no longer advertising after you reconnect, it must have reconnected. Right now, the only reason that comes to my mind that could cause you not getting didConnect is the one I wrote above, with the delegate not being set again to CBCentralManager. I hope I&amp;#39;m right. Consider updating DFU library to 4.2.2 and using the new init method instead.&lt;/p&gt;
&lt;p&gt;If you are already using it, try reassigning delegates just to be sure. You may also release all references to the old DFU initiator and controller to allow those object to be released.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m about to release version 4.3.0 of the library today, but no changes there will actually have any impact on what you experience.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>