It is possible to update the current app from Appstore and GooglePlay from a new freshly expo project?
I lost all the code of the project from where app was build(the build was classic one)
Now I want to start a new / fresh expo project(EAS one) and:
Code the app again
Update the stores with new app
What's your thoughts about this?
What about the implications of the parts like: Storages, Tokens..?
Thank you
As long as you have access to the same AppStore and Google Play accounts yes, you could. Without referencing legacy code and configuration, however, it might not be possible to migrate user data persisted in storage etc. (unless you know the exact config used).
The differences between classic expo builds and EAS should not have any impact here. What matters is that the apps have the same bundle id / package name and are correctly signed (you must have access to the previous signing key or publish key for google play, for instance), and that all other native config items match (if the previous app supported iPads, for example, the new one must as well).
Related
I am testing WSO2-Emm system for managing our android mobile app. We have an app for taxi drivers. We deploy it using our tablets and a single gmail account. Our problem is that google allows up to 10 signed in devices for a single google account.
I have tried to load the apk to the WSO2 store. The problem is that when I want to upload a new version of the same app I get a warning message saying that this APK already exists in the store. When I try to rename it and add it as a new apk it works. The problem is that when I go to App-Management, the application appears under 'installed'. The Emm system doesn't detect there is a new version.
To be more specific, my question is is there a way to manage mobile application versions using the WSO2 store and not the google play store.
If there is a way we can go on with this system. If not, we will stop testing it.
The only way I've figured out how update an already installed app is by going to the App Management tab, selecting your latest version of the app in question, and hitting the install button under the Roles tab (NOT the Users tab). It will send the install command to any devices listed under roles you have checked, even if they already have the app installed. Keep in mind this will install the app on all the devices, even devices that already have the version you're trying to put out.
It looks like you already know about the patch on EMM-686 that must be implemented in order to upload multiple versions of the same app to the Publisher. Just in case you want to confirm it's implemented correctly, see my answer here for instructions on how to implement it.
Title pretty much explains it. Does it render JS from an external codebase so I can simply push new updates through git, or do I need to actually push the changes through App Store?
This is my previous answer, which is getting downvoted into oblivion because it didn't predict something cool like CodePush coming to React Native :)
React Native compiles to an iOS binary. Updates need to be sent to the
App Store, unless you're simply using React Native for its WebView
and rendering an existing webpage on the client.
Updated 6/2/16
It looks like Microsoft has a sweet plugin for CodePush found here that lets you push changes remotely to your React Native app without having to send the update through the App Store.
Here's a quote from the README docs:
NOTE: While Apple's developer agreement fully allows performing
over-the-air updates of JavaScript and assets (which is what enables
CodePush!), it is against their policy for an app to display an update
prompt. Because of this, we recommend that App Store-distributed apps
don't enable the updateDialog option when calling sync, whereas Google
Play and internally distributed apps (e.g. Enterprise, Fabric,
HockeyApp) can choose to enable/customize it.
I'm actually working on a project (with the React Native Playground team - https://rnplay.org/about) that will allow you do live update your apps JS on the fly without submitting an update to the App Store. It's called Reploy, http://reploy.io
We will be open-sourcing the first portion of it very soon (the updater module). There will also be a service that will help you to manage your updates and even deploy your app to TestFlight and the App Store when needed (App Store updates are still needed when adding a new native module or static assets).
Also, just so you know, Apple has allowed this type of auto-updating via item 3.3.2 in the "iOS Developer Program Requirements" document, it says:
3.3.2 An Application may not download or install executable code. Interpreted
code may only be used in an Application if all scripts, code and interpreters are
packaged in the Application and not downloaded. The only exception to the
foregoing is scripts and code downloaded and run by Apple's built-in WebKit
framework or JavascriptCore, provided that such scripts and code do not change
the primary purpose of the Application by providing features or functionality that are
inconsistent with the intended and advertised purpose of the Application as
submitted to the App Store.
https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf
You could push an update to a remote user if you had linked to an external bundle and had the IP / correct ports forwarded, however Apple do not allow this for released AppStore apps.
For beta testing remote apps you might want to try exponent http://exp.host/
Update---
For completeness, it should be noted that if you are part of the Apple Enterprise program you do not need to publish Apps to the AppStore at all, you can post them to end users via a download link.
I work on a project called AppHub that lets you update JavaScript and images without re-submitting to the App Store. The iOS SDK will be open source, but for now you can use the hosted service to manage new builds of your app.
Thanks,
I want to upload the two copies iPhone application to the app store.
1) One with iwatch extension included.
2) One without iwatch extension.
If I include iwatch extension. I can't keep the deployment target below 8.0.
Is it possible and allowed by apple. can I keep the bundle identifiers same or I should change it?
Do I need to create two App IDs for the app?
Please help me with any other setting to change.
My deployment target without iwatch extension is iOS 7+.
Yes, that should be possible.
Note that you should change the Bundle Identifier as every app needs to have a unique one. I would also recommend to change the name (I believe you have to do that anyways) to show the users which one is w/ and w/o AppleWatch Extension.
Hope that helps :)
The answer is NO. You cannot have the same app in the AppStore that has the same bundle identifier.
Also, is there a real pressing need to have that backward compatibility (apart from wanting to have the greatest number of phones able to download your app)? Because if not, then maybe consider that deployment > 8.0 is enough.
Thanks a lot for suggestions and answers.
We can do it. These are the steps we need to follow.
1) Just we have to create new app id for the iPhone application with watch extension.
In case we are doing it manually.
2)we need to create two more app ids one for watchapp and other for watchkitextension as a target.
for eg. the app id is com.appname
The appid for the watch extension would be com.appname.watchkitextension
The app id for the watch app would be com.appname.watchkitapp
Both will be considered different app ids.
3) We need enable the all the three app ids with same App Group
4) keep deployment target of the watchextension and watchkitapp target as 8.2. And for iPhone companion app we can keep it 8.0
4) Generate the app store distribution provisioning provisioning profiles (can keep same distribution certificate) in case want to upload to the iTunes stores for beta testing or app review.
and We are done. This will successfully archieve the app bundle.
Another way. : Just don't do it manually and let Xcode handle it
Note : While developing app. When we add new target as watchkit. The new Xcode generates the app id for watch kit app and extension.
Just we can use it by refreshing provisioning profile from Xcode -> Preferences -> Accounts. Select Account and refresh. (Note : We need to configure the developer account with Xcode for that).
It will download and install the provisioning profile with Xcode.
And we can directly archieve the app bundle for app store submission by selecting the right provisioning profile
With Direct Update, the mobile application can be automatically update with a new version of the web resources. In order to update the native resource, a new version of application must be uploaded to application store.
Consider the case that I have an update for my Worklight app with both native and web resources code update which has already been in application store.
Questions:
Is the following a correct way to update the app?
Step 1. Package the app in .ipa / .apk (with native + web code) and submit to application store
Step 2. Deploy an updated .wlapp file (with web code) to Worklight Server.
In application store, I can specify the application version when uploading the application. Will the application version be incremented automatically once I deploy the .wlapp to Worklight Server?
If the user does not update his application in application store and open the application, since there is a new web resource update in Worklight Server, it means that there will be a direct update alert box to prompt the user to download the latest application and in this case only web resource will be downloaded. There are some problems when the native code and web code are correlated?
Thanks a lot.
This would essentially be the correct order of steps, yes.
However, since you say you're updating both the native and web resources, I would make sure that the existing app can work with just the web resources update (without updating the native), because once deploying the .wlapp to the Worklight Server, existing users will receive a Direct Update.
If this scenario is not one you want to support, then in application-descriptor.xml you should also up the value of the version=" " attribute in the environment's element. When building the app after doing so, this will create a new .wlapp (for example: myProjectNameMyAppName-1.1.wlapp instead of ...-1.0.wlapp).
This means that the existing 1.0 users will not receive any Direct Updates, unless you deploy an updated ...-1.0.wlapp to the Worklight Server.
In relation to the above, no, the application version is not incremented automatically, it is something you need to control manually.
Also, I don't think the version value is something you control in the application store interface...
IFAIK the application version is changeable in Xcode prior to creating the .ipa for iOS and in AndroidManifest.xml prior to generating the .apk for Android (and in similar fashion for other environments).
EDIT: Actually... I think that changing the version value in application-descriptor.xml will also up the application's version number. Need to look at the end result (in AndroidManifest.xml or the Xcode project, in Xcode).
This would really depend on the behavior of your application and how resilient you've written it to be in the face of updates. I have slightly covered this in #1 above.
Other than talking about it theoretically I would suggest taking the jump actually upload an app to an application store, and test it privately, of course. This would be the most convenient to do using Google Play where publishing an app is near-instant.
Within my app, how can I make it check if there is an update available in the Mac App Store, and tell the user about this?
As an example, Sparrow does this.
Charcoal Design has an open source component that does that: iVersion.
But it requires you to add a file in your server for your application to read.
Whenever you update the version, just change the information in your server, and iVersion will show the user that a new version is available.
You could also scrape Apple's servers to read the version of your app, but there is chance that your app may be rejected for doing that.
Basically, Sparrow does not need to ask the App Store. It can just compare its bundle string to the newest version on their website.