50

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?

user717452
  • 33
  • 14
  • 73
  • 149
  • 3
    I'm voting to close this question as off-topic because it's about Apple's acceptance policy, not programming. –  Jun 17 '15 at 18:50
  • 20
    @HoboSapiens It is completely about programming. It claims I have a framework in my project which I do not have. I see questions like this in here all the time. – user717452 Jun 17 '15 at 18:52
  • XCode Version 6.3.2 (6D2105), same issue! But very strangely my binary on testflight just re-entered status "processing" automagically! What about that? But I send it hours ago, and I have already send to testers... Now it shows "Apple Watch Not Paired" warning on testflight. Also I get e-mail about CFBundleShortVersionString Mismatch - The CFBundleShortVersionString value '1.0' of extension but it's absolitelly wrong information, very strange things happening. By the way SockPuppetGizmo.framework is one of private headers of known Apple Watch/WatchKit code! – MGY Jun 18 '15 at 10:36
  • 1
    This is an Apple bug, also discussed in the developer forums: https://forums.developer.apple.com/thread/5797 – Ortwin Gentz Jun 18 '15 at 13:31

3 Answers3

28

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.

Acey
  • 8,048
  • 4
  • 30
  • 46
  • I don't think I can answer that, but I have taken the same steps and followed the instructions I received when my build failed and I will update this answer if/when I get a response. It sounds like they took iTunesConnect down this morning, perhaps they will have to roll back some code before it's fixed? All speculation, of course. – Acey Jun 17 '15 at 20:15
  • Also seeing this issue. Actually think it's the validator service on the Apple servers going crazy than an issue in our code/XCode project. Fixed some crashes in a project that was accepted last week, same project settings, same code, accept from some checks, and now it doesn't get accepted anymore. – Joris Timmerman Jun 17 '15 at 22:39
  • Now it is rejecting during the processing stage, before we even submit for review. Also, Xcode is currently crashing when trying to submit from the organizer. We had to submit the new build via Application Loader. – Acey Jun 17 '15 at 23:02
  • Just got this from Apple: Invalid WatchKit Support - The bundle contains an invalid implementation of WatchKit. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information. Once these issues have been corrected, you can then redeliver the corrected binary. Regards, The App Store team – BX69 Jun 18 '15 at 00:37
  • I reinstalled Xcode for safe measures. I'll let you know what happens. – BX69 Jun 18 '15 at 00:38
  • Got this issue too, Don't know how to solve it.. There is no error after submitting by Xcode, But it'll be rejected after uploading to iTunes Connect. – Johnny Jun 18 '15 at 01:51
  • Did anyone file a radar? If so, what's the radar number? – ccjensen Jun 18 '15 at 06:19
  • I have: 21426849. I didn't put it onto OpenRadar yet though. – Acey Jun 18 '15 at 06:21
  • I also ran into the same issue try to upload a project which I've previously successfully uploaded! – user1752054 Jun 18 '15 at 06:52
  • I've submitted Direct Technical Support and also mailed to appreview@apple.com, Wish I could get some response from Apple, Did anybody have some new informations about this issue? – Johnny Jun 18 '15 at 07:37
  • Very annoying. I got a crash in Xcode when trying to upload. Was forced to use "Application uploader" instead. I wish there was a workaround for this... – Johan Karlsson Jun 18 '15 at 10:31
  • @JohanKarlsson I too tried Application Loader, but got the same errors – did this work for you? – Marc-André Weibezahn Jun 18 '15 at 12:39
  • @Marc-AndréWeibezahn I did manage to upload using the Application Loader, but still got that annoying e-mail about using a non-public API. I have now written to Apple support. I hope that they will help me very soon. – Johan Karlsson Jun 18 '15 at 12:46
  • I uploaded an app without any error a week ago which went into review today, they rejected it for some metadata. I corrected the data and submitted it back to review again (without changing the binary but triggering their check again) causing the non-public API email to be triggered. I can no longer submit the same archive which worked perfectly a week ago and even got approved on Testflight beta, clearly indicating that this issue has to do with something they did in the last couple of days. – insanoid Jun 18 '15 at 13:24
  • I have also uploaded to Apple Technical support incident. Let me post reply once I get any reply from apple. – san Jun 18 '15 at 14:14
  • It seems that uploading via Xcode works again. Both uploading from Application Loader and Xcode still hits the WatchKit private API flag though. – Sophia Tung Jun 18 '15 at 16:28
  • I'm happy to report that the issue seem to have been RESOLVED! – user1752054 Jun 18 '15 at 16:50
  • Just worked for me too right now (from Application Loader), seems to be fixed. – Tiago Lira Jun 18 '15 at 17:13
  • Worked for me from Application loader. Xcode still crashed! Thanks! – BX69 Jun 18 '15 at 19:16
  • Issue is resolved. This maybe because they are making the iOS9 Apps compatible with TestFlight. – John Paul Manoza Jun 19 '15 at 11:18
10

Seems to be working now. Submission just gives a warning but the binary goes up fine and can be submitted.

sunilr
  • 1,146
  • 10
  • 11
  • Yep, it should be working again. If anyone continues to experience problems, please file a bug report at https://bugreport.apple.com – Dave DeLong Jun 18 '15 at 17:28
0

I was also facing the same issue. Here in my case just iMAC restart worked fine for me. Create a build after iMac restart and then create build and then upload, it worked perfectly for me.

Hope this helps...!!!

IRAVIPATEL
  • 71
  • 5
  • May have just been good timing on your part. Most have reported it finally started working again Thursday afternoon with nothing needed on their part to do. Glad yours is working now, though. – user717452 Jun 20 '15 at 15:18