Onedrive Universal App Example Fail - onedrive

The OneDrive Photo Browser Universal App at https://github.com/OneDrive/onedrive-sample-photobrowser-uwp
breaks when using the latest v2 version of the OneDrive SDK.
Specifically at Client.SignOutAsync, Client.AuthenticateAsyn and OneDriveClientExtensions.GetUniversalClient.
Does anyone have a fix ?

The Photo Browser example has been updated to reflect the v2 changes in the SDK (see this commit). Are you updated to that version of the sample?
Some of the methods you referenced are not included in the SDK anymore. For example, OneDriveClientExtensions.GetUniversalClient() has been removed. You can see in the sample app how to get a client without using that method.

Related

Set and get app version name and app version code for react-native-web application

Is there a way to set an app version and build number for a react-native-web app?
I am currently using react-native-web for an app (for IOS, Android and Web).
I am also using react-native-device-info.
Currently for web when I use:
DeviceInfo.getReadableVersion() or DeviceInfo.getVersion() or DeviceInfo.getBuildNumber() I get only 0.0 and 0.
Getting the version and build number works perfect for android and iOS but I have no idea how to set it and get it for web.
There is no way to get a version of a website, because there is no .apk or .ipa installed on the browser. I suggest you create your own version system, and put it in some meta tag:
<meta name="my-app-version" content="1.0.0" />
Also you can do this directly on your JS code:
export const APP_VERSION = "1.0.0"
Control version in the browser is less required than in the native side. Only do this if you need to force the user to update to the last version, as example: you can force the user to refresh the page and download the last bundle if version is different from and API endpoint that you configured.
Users will eventually refresh or close the tabs of the browser and when they come back, the last version of the code will be available.

Expo uses old code even though new code has been deployed

I have a react-native app that is using Expo.
In the beginning of the project I pushed some code to the default publishing channel that was never intended to be used in production.
Since then I have released dozens of versions to production and mostly all works as expected. (New installs gets the latest JS code)
However, a few users still gets old versions of the code, even though they literally just downloaded the app from App Store / Google Play.
This is extremely frustrating. How can I make sure that fresh downloads of the app will download the correct/latest version och my JS?
Note that this is not related to the app detecting new code that might be available for download. It is the fact that the wrong code is downloaded and used to begin with. Is there any way to remove all JS-code except the very last version that I published? I imagine that would solve my issue
Turns out, expo don’t always do this successfully. You need to rebuild the react native bundle before publishing.https://proandroiddev.com/bundling-react-native-during-android-release-builds-ec52c24e200d
This is what expo gives as a feature known as Over the Air updates (OTA). Whenever a new version is built with expo channel, it automatically updates even in the app store and play store. But there is a way to disable the updates. the expo documentation for disabling:
It is possible to entirely disable OTA JavaScript updates in a standalone app, by setting updates.enabled to false in app.json. This will ignore all code paths that fetch app bundles from Expo's servers. In this case, all updates to your app will need to be routed through the iOS App Store and/or Google Play Store.
This setting is ignored in the Expo client.
And I do recommend you to read the documents of OTA, which is a good feature when you get to know all of it.
The expo link is expo OTA

AIR Google Play Services library classes missing apk

I am working on a test app to test an ane I have built with Google Play Services included. I had things working fine, but recently I updated the version of the Google Play Services library I was using, and now when I built the project in Adobe Flash CC, it seems to be stripping out the Google Play Services classes from the apk. When I decompile the apk I can see they are missing. When I put back the old version of GPlay, I can see it doesn't strip them out.
This post mentions a tool within the AIR needs updating (dx.jar) and this post seems to have the same message. I did update that file but it did not fix the issue.
Thanks!
The problem will be with the AIR SDK. You need to update the dx.jar in your AIR SDK, I've logged an issue with Adobe about this but they haven't updated the build tools as yet so we have to do it manually:
Have a look here for the details: http://airnativeextensions.com/knowledgebase/tutorial/5
It's important that you have a recent version of the Android SDK installed and updated for this to work.
Also rather than packaging the Google Play Libraries into your ANE I suggest you use a shared ANE, like this one:
https://github.com/distriqt/ANE-googleplayservices
Otherwise you can cause conflicts with other ANE's that use the Google Play Library.

Facebook new share sdks containing non public API usage

With the new Facebook share sdks v4.0.1 - i am getting the no-public selector warning for previewImageURL,suggestions,to.
I changed the name and added fb_... and archiving again but it also showing same.
Any suggestions what i am doing wrong ?
Fixed, Downloaded full sdks code from here - https://github.com/facebook/facebook-ios-sdk
And done changes of variables and build the sdks and using that sdk will solved the issue.

Trouble port PhoneGap project to Windows Phone

Porting www.canterburymaps.govt.nz to PhoneGap has been successful for Android and iOS, but Windows Phone (8) is causing issues.
The site works if viewed through IE, but when hosted within Cordova the Windows Phone app loads but there's issues with the functionality. We've discovered it's failing on the JavaScript "dojo.require" e.g.
dojo.require('dijit.layout.BorderContainer');
It doesn't seem to matter which library is passed in, so it seems to be an issue with the dojo.require function itself.
I've found this example online - http://dotnetspeak.com/2013/05/using-esri-arcgis-in-phonegap-applications - and have followed step 3 to change the root url in dojo, but this doesn't seem to help.
Anyone have any ideas what the issue might be?
Please mention the version numbers of both Dojo and PhoneGap.
If you are not using the latest available for both, can you try upgrading?
You mentioned that you tried changing the root URL, but did you try to configure the Dojo loader in sync mode (vs async)? Say data-dojo-config="async: 0, ..." in the script tag which loads dojo.js. Does it work better?