Issue when publishing to Apple AppStore

I have received feedback from Apple where they reject my app for testing. The reason I put it here is that it seems to have to do with sockets/websockets - that I know Couchbase use for sync.'ing with the sync.gateway…

Perhaps this message can help someone here clarify if Couchbase Lite is causing the issue:

Dear Developer,
We identified one or more issues with a recent delivery for your app, “Fangstjournalen v.2” 2.0.0 (6). Please correct the following issues, then upload again.
ITMS-90338: Non-public API usage - The app references non-public selectors in Angler.iOS: applicationWillTerminate, ddSetLogLevel:, localTarget, newSocketQueueForConnectionFromAddress:onSocket:, setOrientation:animated:, socket:didConnectToHost:port:, socket:didReadPartialDataOfLength:tag:, socket:didReceiveTrust:completionHandler:, socket:didWritePartialDataOfLength:tag:, socket:shouldTimeoutReadWithTag:elapsed:bytesDone:, socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:, socketDidCloseReadStream:, socketDidSecure:, terminateWithSuccess, webSocket:didReceiveMessage:, webSocketDidOpen:. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at Requesting Technical Support - Support - Apple Developer
Though you are not required to fix the following issues, we wanted to make you aware of them:
ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See UIWebView | Apple Developer Documentation for more information.
Best regards,
The App Store Team

I know the last “error” is not related. Just wanted to bring the entire message.

Thanks for any input in advance!

Is this Xamarin iOS platform?

It’s a Xamarin Forms solution

CBL .NET does not make any Objective-C bindings at all, so it’s extremely unlikely (impossible?) to be caused by CBL. The only Objective-C calls come from the Xamarin runtime. Perhaps did you accidentally enable Calabash? That will cause a very similar error to this one.

Thanks, Jim! Good to know :+1:

Hmmmmm… There is a UITest project but all of that should be in an

#if DEBUG

block… But I’ll double check (I didn’t add that myself).

I also use Microsoft.AppCenter.Analytics and Microsoft.AppCenter.Crash- don’t know if they could be doing that as well?

Yes, Calabash should be disabled when uploaded to the AppStore as I found this in the AppDelegate class:

#if DEBUG
            Xamarin.Calabash.Start();
#endif

It wouldn’t be the first time somebody either accidentally submitted a debug build, or accidentally defined DEBUG in a release build (I’ve done both before). I still consider it suspicious thanks to good 'ol Murphy’s law.

2 Likes

Arghhh… you just nailed it there. I have to manually change from “Debug” to “Release” - and I had forgotten :crazy_face:

Thanks for pointing me in that direction :+1: