Hi,
I have a simple query/response iPhone application which I developed over a year ago. It gets a key from the user, creates a UDP CFSocketRef with a Data callback and transmits the data to the server. When the response is received, it invalidates and releases the socket and displays the response. The socket is created new for each query.
My company wants to investigate using the Apple Watch with the app, which requires a later iPhone, ios 8+ and a new xcode. I acquired these things and decided that I would take the opportunity to update the app with later technologies such as Storyboards, and "improve" the code.
While testing the new app, I encountered a strange problem. It will perform exactly four queries perfectly. On the fifth query, while everything appears fine in the debugger, no data is transmitted from the phone. The sendto function returns 11, the size of the request. The profiler shows that the packet has been sent, but according to a network analyzer, no data appears on the network.
In order to determine if my "improvements" were to blame, I built the original app in the new environment and ran it on the iPhone 5. It had the same problem. I ran it on the original iPhone 4 with IOS 7. It exhibited the same behavior, after four queries no more data is transmitted. The original app built with the earlier xcode (4?) on the iPhone 4 continues to work as it always has.
I seem to have run into something in the CFNetwork framework that has changed, or is different in some way I don't know about.
Can anyone shed any light?
Thanks,
Ned