Comments (10)
Hey @Panda-ref, are you using TestFlight to distribute builds to your testers?
from react-native-version.
Yeah, fastlane into TestFlight.
Gets rejected due to CFBundleShortVersionString = 1.0.0-1 (not Int.Int.Int format).
Anyways there is that difference between npm fashion
with semversion support and iOS fashion
without.
Wonder if we could move that semver suffix out of CFBundleShortVersionString to CFBundleVersion and leave just MAJOR.MINOR.PATCH
.
from react-native-version.
I was just thinking the same thing. One has to move from say 1.0.0
to 1.1.0-1
or 1.1.0-rc.1
to be testing a new feature right? That would mean that we have already satisfied the CFBundleShortVersionString update and we can specify anything for CFBundleVersion and should be ok to submit.
Still have to figure out what to do with CFBundleVersion when we do an actual npm version minor
before going to production.
from react-native-version.
Didn't quite understand.
Npm semver implementation doesn't support actual semver suffixes yet, for now it's just numerical suffixes like -[0-255]
.
For prerelease testing of minor update (with npm version preminor
) we prepare artifact with actual package.json version 1.1.0-0
that isn't a valid CFBundleShortVersionString. To make it valid one has to change actual 1.1.0-0
to just 1.1.0
and somehow differ artifacts by changing CFBundleVersion with same version but that satisfies apple rules to 1.1.0b1
and not 1.1.0b0
.
The final number in the suffix is the build version, which cannot be 0 and cannot exceed 255. When you release the new version of your app, remove the suffix.
After actual npm version minor
we can remove suffix like 1.1.0
because 1.1.0
> 1.1.0b1
for apple's perspective i think, could be wrong. Or just do semverUtils.parse(semverString)
and use release
field of parsed object and add 1.
Also there is limitation for those who start their app development with 0.0.1
version due to
The build version number should be a string comprised of three non-negative, period-separated integers with the first integer being greater than zero
from react-native-version.
The greatest part in it that you just can't have a package like node-semver
to fully read apple's mind. God i love them.
from react-native-version.
No standardization among Apple teams it seems:
Mail 9.3 (3124)
System Preferences 14.0 (14.0)
Photos 1.5 (370.42.0)
OS X 10.11.4 (15E65)
Safari 9.1 (11601.5.17.1)
from react-native-version.
Oh my, that's a whole bunch of quirks. Thanks for taking the time to research this.
from react-native-version.
Any news on this?
What if we truncated any last parts of the version to adhere to Apple standards. The problem is though, that Apple required a nonzero number after any letter, so we would have to throw an error to the user if he wrote something like 1.2.8-rc
because he needs a number after rc
.
How about something like:
npm version | CFBundleVersion | CFBundleShortVersionString |
---|---|---|
1.2.3 | 1.2.3 | 1.2.3 |
1.2.3-beta1 | 1.2.3b1 | 1.2.3 |
1.2.3-alpha11 | 1.2.3a11 | 1.2.3 |
1.2.3-rc | throw missing number error |
from react-native-version.
Yes please. Either truncating it, or adding a [.pre] like 1.0.1.17
from react-native-version.
Hi guys, this is now fixed in v4.0.0 thanks to @DMcNamara! RNV will now only keep the MAJOR.MINOR.PATCH part of your npm version for iOS to satisfy Apple's spec. This means CFBundleShortVersionString
will remain the same as you make new pre-release versions. You can bump CFBundleVersion
to get them into TestFlight and later when submitting to the App Store.
Check out #176 (comment) for more info.
Parsing and truncating pre-release identifiers seems pretty error-prone, but we'll continue exploring this in #86.
from react-native-version.
Related Issues (20)
- increse buildNumber on hot reload HOT 1
- Just to verify: there is NO option to NOT let the tool commit into git? HOT 2
- increase with widget targers version
- Command failed with exit code 127
- Support for multiple info plist files?
- npm version [major/minor/patch] is not updating all the files
- I don't want to increase verssion on all Project HOT 2
- fatal: No names found, cannot describe anything. HOT 1
- SUPPORT
- Support iOS Extensions target HOT 2
- Cannot increase only build number
- Change version for a specific IOS target
- Rely on an argument for expo and react-native projects
- versionName and CFBundleShortVersionString dont output the expected inputs
- Fails when xCode has more targets (multiple Info.plis)
- What's an alternative to this package? HOT 2
- Need monorepo support
- How can I also customize updating files to add for example updating OneSignal version and build Id ?
- Add --skip-expo option to skip Expo versioning even if detected HOT 1
- SyntaxError: Expected "\"", "\\'", "\\\"", "\\n", or [^\\"] but "\\" found. HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-version.