Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apps built with the dynamic framework can't be submitted to App store #1163

Closed
pietbrauer opened this issue Nov 29, 2014 · 16 comments · Fixed by #1253
Closed

Apps built with the dynamic framework can't be submitted to App store #1163

pietbrauer opened this issue Nov 29, 2014 · 16 comments · Fixed by #1253
Assignees
Labels

Comments

@pietbrauer
Copy link
Contributor

Hey,

I tried to submit my beta app to the iTunes Store today but unfortunately a dialogue appeared that the Realm.framework contains non-public API usage.

Did you see that before or have an idea on how to deal with it?

screen shot 2014-11-29 at 16 17 59

@pietbrauer
Copy link
Contributor Author

Sorry, I am using @Carthage and v0.87.4 of realm. Can it be that I was linking the Mac Framework?

@tgoyne
Copy link
Member

tgoyne commented Dec 1, 2014

Assuming Carthage built the framework correctly, using the OS X framework should fail to compile unless you've managed to compile against the iOS framework and link against the OS X framework (which is hard to get Xcode to do even when actively trying).

We don't have any direct calls to bzero, but calls to memset(..., 0, ...) sometimes get optimized to calls to platform-specific versions of bzero. I suspect it's just a mistake on Apple's part and they marked symbols that shouldn't be private as private, but I'll see if I can reproduce it and if so try to find a workaround.

@tgoyne
Copy link
Member

tgoyne commented Dec 1, 2014

Carthage doesn't handle the fact that we support building both static and dynamic frameworks with the same name very well, but it does seem to build things correctly.

@pietbrauer
Copy link
Contributor Author

Thanks for the research! Unfortunately Carthage 0.2.2 doesn't fix the issue.

@tgoyne
Copy link
Member

tgoyne commented Dec 1, 2014

I've poked into this a bit, and the ___bzero calls appear to be compiler-generated for zero-initialized stack variables, so either we have a compiler setting wrong somewhere, or the blacklist is incorrect. Have you emailed appreview@apple.com to verify that it's supposed to be blacklisted?

@pietbrauer
Copy link
Contributor Author

Nope not yet, was when I tried to upload a beta build so there is no pressure on this for me. Would you consider this as the next step or do you want to check the compiler thingy first?

@tgoyne
Copy link
Member

tgoyne commented Dec 1, 2014

I'll continue looking for issues on our end, but it would help if you emailed them.

@tonyarnold
Copy link
Contributor

Guys, this is probably related: Carthage/Carthage#188

@pietbrauer
Copy link
Contributor Author

Wow, thanks for finding it!

@alanjrogers
Copy link

@tonyarnold I don't think that's related. The carthage issue is that built artefacts in Carthage.build contain x86_64 and i386 architectures that are rejected by the app store :(

@jpsim
Copy link
Contributor

jpsim commented Dec 6, 2014

@alanjrogers that's the same issue we're having here.

In a nutshell, we're currently including simulator and device symbols in a fat framework binary. In static libraries, Apple strips them out as part of the archive process, but they don't yet do this for dynamic libraries.

This is a bug that apple should fix. But in the meantime, we need to find a work-around. One way would be to have 2 frameworks (1 for simulator, 1 for devices). Another option could be to have an archive build phase to strip out the simulator symbols.

I'm curious to see what solution the Carthage people come up with.

@alazier alazier removed the pending label Dec 8, 2014
@alazier alazier changed the title [iOS] non-public API usage Apps build with the dynamic framework can't be submitted to App store Dec 8, 2014
@alazier alazier changed the title Apps build with the dynamic framework can't be submitted to App store Apps built with the dynamic framework can't be submitted to App store Dec 8, 2014
@jspahrsummers
Copy link

I've filed a Radar about this: rdar://19209161

@jpsim
Copy link
Contributor

jpsim commented Dec 10, 2014

Thanks for the high quality radar, @jspahrsummers! Duped.

@jpsim
Copy link
Contributor

jpsim commented Dec 18, 2014

Apple just closed my radar as a duplicate of rdar://18326724, so it looks as if someone else filed this long before we got to it. Which (I hope) increases the odds of Apple fixing it 🙏.

@jspahrsummers
Copy link

Ha, mine is still open. 😕

@jpsim
Copy link
Contributor

jpsim commented Dec 19, 2014

Actually, I was wrong. My radar was closed as a dupe of @jspahrsummers'. Apple's world-class bug report UI confused me.

@jpsim jpsim removed the P1 label Dec 19, 2014
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants