-
Notifications
You must be signed in to change notification settings - Fork 24.4k
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
fixed SDK issue while uploading app in debug scheme #33153
Conversation
Hi @arinjay! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks! |
Base commit: ed46ea2 |
Base commit: ed46ea2 |
Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks! |
@sshic has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
@lunaleaps can you help me in getting this MR merged |
@cortinico & @fortmarek this PR addressed the fact that if you try to upload to Apple's store a debug build, there seems to be an overlap of methods' names with the ones from the core iOS SDK. By changing them, it seems to address the problem - so I think overall it'd be a good change to integrate. (cc @tido64, do you have any opinions on this?) |
The properties changed are with I don't think there's a particular reason not to merge this change for 0.69. |
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
Looping @cipolleschi in here.
IMHO we're fine merging this on
Given the limited use case ("trying to publish to Apple Store in debug scheme") this is not pick-worthy for .69 imho. |
Just curious about the impact of this breaking change here. From what I understand, since iOS doesn't allow users to install apps as Android does with apks, Testflight is the only available option to upload an iOS build and test for non-ios developers. Not supporting that is bad dev-exp right? |
Thanks @cortinico. I agree, it is not pick worthy. I'm also not so sure about it being breaking: is the @choubeyaakash77, more or less yes, although I don't remember if we can actually submit something in Debug mode nor whether it is a good practice. By the way, the PR has been open since May 2021, as @kelset commented, so it is a year that this is broken. Waiting 1 more release won't hurt more than how it is already doing. What do you think? |
@cipolleschi Yeah it makes sense. If it is not a breaking change, there should be no problem in including it in 0.69, but if there is a breaking change, then that's a call on the react-native team I guess.
Submitting on TestFlight is different from submitting on AppStore. I am not sure but I don't think submitting something in Debug mode is a bad practice. That's a limitation given to us by Apple. |
Yeah, I see all the points and I agree with them. What I was trying to say, failing, is that, if I remember well:
So these warnings looks a little bit weird to me. But again, it has a been a while since I had to submit something to Apple, and I was using an Enterprise profile to distribute the app internally in other context. So, I could remember wrong. |
@arinjay Don't you mind updating the changelog entry to mention this is a breaking change? |
@cortinico I can't see how it's a breaking change? As per my understanding of the code, |
@cipolleschi yes you’re right
Schemes are different on iOS apps. The need comes from the very limitation Apple has in the first place i.e. not being able to install IPA directly onto any iOS device. Sharing it with multiple end-users and then gathering bugs becomes very easier. The whole iOS development cycle becomes more efficient. |
When will this PR be merged? |
Just to clarify, this won't be included in RN 0.69. The earliest this will be released in RN 0.70 as it's not considered a regression. |
This pull request was successfully merged by @arinjay in 086c13d. When will my fix make it into a release? | Upcoming Releases |
I don't believe this is correct to fix and will revert this. This code is internal only and therefore can use private API's. You should never upload debug scheme builds to the App Store. |
@cipolleschi and I look at an alternative way to address the issue in #31507. For now this breaks some development workflows, so we prefer to back this out. |
This pull request has been reverted by 6fcb878. |
@javache what's the alternate way of resolving this? Can you mention that Also "You should never upload debug scheme builds to the App Store" Can you mention the changes using which we can still upload the app on testflight in debug mode? |
You should never upload debug scheme builds to any distribution platform. They are inherently insecure as they allow any local packager instance to completely redefine your application's behaviour, while still providing access to privileged local storage (eg keychain). |
'You should never upload debug scheme builds to any distribution platform' Use case in which debug mode is required - An app running both on react native and native (swift) codebase. now in debug mode we need to have one API call debugger library or profiler library which we only want in debug mode only, and installed dependencies in debug mode only. Post putting it on test flight to share it with other user, which in real-time can track the profiler data on actual devices or detect which API was fired. These cases are very much required in many day-to-day app developments. |
@javache @arinjay Hi! Not sure this is still an ongoing conversation as the last reply was in June but I don't think it was implemented as I don't see it in the tags. I wanted to throw my two cents in as I can attest to the importance of being able to upload a debug scheme to TestFlight for internal testing before we submit a release version to the App Store. We've been doing it this way for years at my job (we have a staging environment and a production environment, so the debug scheme works off of staging and the release scheme works off production) and we now can't submit to TestFlight because of running into the selectors mentioned in this post. I've been in talks with Apple and they just got back to me directing me to manually change these myself so that the upload will be accepted to TestFlight. I want to voice my support for including this in the package. Thanks! |
@javache Whether you should upload debug scheme builds to the App Store or not is outside RN's scope. This error message suggests an issue, either in the RN code or in Apple's validation. |
Summary
Problem - Error when trying to publish to Apple Store in debug scheme
Error thread - #31507
Changelog
[iOS][Changed] - The diffs renames the required variable which was causing conflicts in names with Apple core SDK's