_CMTimebaseCreateWithMasterClock - ITMS-90338: Non-public API usage

Hi guys,

I am getting the following error when trying to upload for macOS. The same code works fine for iOS.

Dear Developer, We identified one or more issues with a recent delivery for your app. Please correct the following issues, then upload again. ITMS-90338: Non-public API usage - The app references non-public symbols in Contents/MacOS/***: _CMTimebaseCreateWithMasterClock. 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 http://developer.apple.com/support/technical/ Best regards, The App Store Team

Just FYI: I am not using CMTimebaseCreateWithMasterClock at all, but rather the preferred variant CMTimebaseCreateWithSourceClock.

Neither of these are private API. Both are available.

Looks like a bug in AppStore Connect? Filed FB9752311 if anybody at Apple is listening.

Answered by Graphics and Games Engineer in 695518022

Hi, yes this sounds like a bug, especially since you are using the updated API. I tried looking at your feedback item in our tracking system, it looks like it has been sent to the appropriate team to be resolved.

Accepted Answer

Hi, yes this sounds like a bug, especially since you are using the updated API. I tried looking at your feedback item in our tracking system, it looks like it has been sent to the appropriate team to be resolved.

Hi there! The same issue ocurred just now. I'm trying to send the build on the Testflight and getting this error: the app references non-public symbols in payload/: _CMTimeBaseCreateWithMasterClock (id: fc26e9d1-284d-4257-a1ef-c0244a8a9d30).

But when I'm trying to use a search to fing a place of this method calling - there's no result. I tried to update the xCode and macOS but it took not any effect

Hi there! I meet the bug too. I build with Xcode 14.1,update with API.

Hi Developers, same is being reported by multiple customers of our player iOS SDK when submitting their applications today. We have confirmed that _CMTimebaseCreateWithMasterClock is not called from SDK code. The only related API usage is CMTimebaseCreateWithSourceClock which is not private API and this is not new code. The app submission error is encountered only today and the submissions worked earlier with same BitmovinPlayer code.

Could this be an Apple issue same as the previously acknowledged bug for MacOS in this thread?

ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/BitmovinPlayer.framework/BitmovinPlayer: _CMTimebaseCreateWithMasterClock. 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 http://developer.apple.com/support/technical/

Even when app is recompiled to use CMTimebaseCreateWithSourceClock (with XCode 14.3.1) the application is failed in runtime when launched on iOS 14, because there is no such function on iOS 14.

I root caused the problem. See my post here: https://developer.apple.com/forums/thread/733383

Basically, in CMSync.h, Apple inlines the call to CMTimebaseCreateWithSourceClock (which in turn calls CMTimebaseCreateWithMasterClock) for apps that target minimum SDKs less than 15.0. This means the compiler will replace the call at compile time and thus it appears in your object code.

Your workaround is to target a minimum SDK of 15.0 or greater. I have verified our app validates at that point.

_CMTimebaseCreateWithMasterClock - ITMS-90338: Non-public API usage
 
 
Q