Non-Public Library SockPuppetGizmo
I got an email that my latest binary submission to Apple for an iOS/Watch OS app was invalid due to:
The app links to non-public libraries in PlugIns/iPrayed.appex/iPrayed WatchKit App.app/_WatchKitStub/WK: /System/Library/PrivateFrameworks/SockPuppetGizmo.framework/SockPuppetGizmo
I have submitted this build before without any issues, and only made a couple of changes to a few lines of code, without adding anything at all. Any clue what this is about?
Solution 1:
You have not done anything wrong. I created an empty sample project, archived it, and can confirm the SockPuppetGizmo framework is linked by default. This is either a bug with Xcode linking or with the validation in iTunes connect. I suggest we all file a radar to bring this to Apple's attention ASAP.
otool -L Products/Applications/test.app/PlugIns/test\ WatchKit\ Extension.appex/test\ WatchKit\ App.app/test\ WatchKit\ App
//Yields
/System/Library/PrivateFrameworks/SockPuppetGizmo.framework/SockPuppetGizmo (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3318.93.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1142.14.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1214.5.1)
And
nm -u Products/Applications/test.app/PlugIns/test\ WatchKit\ Extension.appex/test\ WatchKit\ App.app/test\ WatchKit\ App
//Yields
__SPApplicationMain
dyld_stub_binder
Edit: As many are now reporting, it's again possible to upload builds via Application Loader. Xcode 6.3.2 is still crashing on submission.
To upload via Application loader, select your archive in the Organizer, Click Export, save and .ipa file somewhere. Open Application Loader and Choose that ipa.
Solution 2:
Seems to be working now. Submission just gives a warning but the binary goes up fine and can be submitted.