Finally, we found the problem. As @Gix said, the problem is with unit tests inside our system. In the SDK tests, there is no application context, so it does not have / keychain. But in fact, we did not want to transfer tests from the SDK to the application, as you did @Gix. That way, we could fix the problem by simply adding the application target to the SDK project, and then set this as the host for the SDK unit tests. Unit tests now pass. But I still don't understand why its only failure in the new xCode. We understand that this is not a problem with the iOS 11 simulator, because the same crash happens with iOS 10 simulators in xCode9. Thus, this limitation is a property of the xCode9 simulator application, which can be fixed with the solution I provided. It is still messy, but it works,and you donβt need to transfer tests from SDK to application!