In iOS, apps in the background are given execution time in response to events they subscribe to (like Bluetooth events, location updates, push notifications, etc.).
There is no mechanism for an app to execute itself in the background based on a timer. A typical Bluetooth app will be given a short period of execution time whenever the corresponding Bluetooth device takes an action to interact with the app.
In your case, to send some data to the peripheral once a minute, the peripheral should be making the request from the app, therefore waking it up via the Bluetooth background capability. Once your app is woken up, it will be given a very short period of time to make the data transfer, and then it should yield back (return from the callback method) and get suspended again until the next event.
If the peripheral is continuously connected during the lifetime of the app, it can use a notifying characteristic to wake the app. If it is disconnected in between, it can then start advertising at the scheduled time and this will wake the app up if it has been suspended pending a scan command.
Keep in mind that for long term operations like this, it is quite crucial to make sure your peripheral follows the "Bluetooth Accessory Design Guidelines for Apple Products" to avoid premature disconnections and speedy discovery of the peripheral while the app is in a suspended state. You can find this document at: https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf