У Apple сами есть демонстрационные проекты, которые показывают Wi-Fi-соединения с использованием GKSession и Bluetooth с использованием GKPeerPickerController. Если вам нужен peerPicker и опция для обоих, я думаю, вам нужно использовать контроллер peerpicker, чтобы предоставить пользователю выбор. Используйте этот код в том месте, в котором вы хотите, чтобы появился инструмент выбора, после того, как вы его создали.
picker.connectionTypesMask = GKPeerPickerConnectionTypeOnline | GKPeerPickerConnectionTypeNearby;
Тогда, если они выберут wifi, используйте код из проекта GKRocket в библиотеке примеров кода iOS. Если они выбирают Bluetooth, используйте GKTank.
Код GKRocket (с использованием GKSession и таблиц) намного сложнее следовать, но GKSession автоматически использует Bluetooth, если нет покрытия Wi-Fi. Учитывая, что для работы с Wi-Fi вам понадобится большая часть кода для GKSession в вашем проекте, я думаю, что легче забыть о peerPickerController, если только вам не нужен только Bluetooth.
В конце концов Apple обязательно добавит необходимые методы и свойства в peerPickerController для обработки Wi-Fi, но на данный момент вам нужен GKSession.
Надеюсь, это поможет.