As reported in webkit-dev:
Safari 10 starts, but nothing loads probably because it cannot load its injected bundle. This is the output:
Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/bari/src/webkit/WebKitBuild/Release.
2016-07-18 14:18:32.900 SafariForWebKitDevelopment[424:4918] [Keychain] SecItemCopyMatching failed fetching extension list with error -34018
2016-07-18 14:18:32.923 SafariForWebKitDevelopment[424:4918] [Keychain] SecItemCopyMatching failed fetching extension list with error -34018
2016-07-18 14:18:33.091 com.apple.WebKit.WebContent.Development[425:4983] Error loading /System/Library/StagedFrameworks/Safari/Safari.framework/Safari: dlopen(/System/Library/StagedFrameworks/Safari/Safari.framework/Safari, 265): Symbol not found: _OBJC_CLASS_$_WBSCompletionListRankingObserver
Referenced from: /System/Library/StagedFrameworks/Safari/Safari.framework/Safari
Expected in: /System/Library/PrivateFrameworks/SafariShared.framework/Versions/A/SafariShared
InjectedBundle::load failed - Could not load the executable from the bundle.
Created attachment 284069 [details]
Dan, did I understand you correctly?
Comment on attachment 284069 [details]
This can cause production builds of the XPC services in macOS releases to load the staged WebKit frameworks when the client app isn’t Safari.
You should make a change the only affects engineering builds.
Created attachment 284085 [details]
Attaching another fix that I have, but it seems conceptually wrong too. Needs more discussion.
Dan convinced me that doing it conditionally for engineering builds is the only acceptable way forward. Will hopefully get back to this next week, if no one beats me to it.
Created attachment 284305 [details]
Make engineering builds of the Web Content service prefer newer frameworks in the staged install path
Fixed in <https://trac.webkit.org/r203598>.