Actually you would not need to keep the connection alive all the time. If all you need is a few seconds within a 24 hour period, you can break the connection and have your peripheral sleep until it is time to send the log data.
Then your peripheral can wake up and start advertising - while your app is pending on a connect request (don't forget to use CoreBluetooth state preservation on the app side). Once the iOS device detects the advertising peripheral, you can then in your app connect, download the data, and signal the peripheral to go to sleep again.
Important things to note:
- you must use CoreBluetooth state preservation/restoration so your app gets launched even if it has been terminated by the OS
- the peripheral must advertise in full power and frequency as it is likely that the iOS device will be in low power passive scan mode at the time the peripheral wakes up
Using local notifications to ask the user to open the app and download your data periodically would work, if your user experience model fits that.
Keep in mind, though, in such an implementation, your peripheral would need to keep advertising all that time as there would be no telling when the app would be launched and the transfer requested.