Edit: 'Looks like 'szymczyk' and I were writing our response at the same time. Anyhow, I think we're saying the same thing.
It sounds like you have your project configured like I used to do things. For example, having the actual items to test being members of both targets (app target and the testing target). In that case, there is no way to generate a coverage report to exclude the test suites. That's because the app code is being included in the test bundle and thus unchecking 'Show Test Bundles' will hide everything.
The fix is to have your app code only reside in the app target and your test suites still only residing in the test bundle target. Then, use the @testable import clause in your unit test suites.
For example, I just created a single-view iOS app with unit tests with a project name of 'UnitTests'. I then added a Person.swift class to my 'UnitTests' target (but no the UnitTestsTests target).
Then, added a PersonTests.swift suite to the UnitTestsTests target and added this line after the import of XCTest:
@testable import UnitTests
After turning on code coverage and doing a run, my coverage shows this (when 'Show Test Bundles' is checked):
UnitTestsTests.xctest
* PersonTests.swift
* UnitTestsTests.swift
UnitTests.app
* Person.swift
* ViewController.swift
* AppDelegate.swift
Coverage data for 'Person' was filled in correctly. Unchecking the 'Show Test Bundles' checkbox hides the first grouping as expected. The coverage for Person.swift is still there (since it's only listed in the app bundle).