I have been in the process of migrating one of my project from a standard UWP project to an Uno platform based project to allow me a wider variety of devices to publish to. After overcoming a number of hurdles I generate my msixbundle and submit this to the Microsoft store. Because the original application was published with a .appxupload it need too be some kind of bundle to accept it. When i submit the bundle i receive the following warning
Package acceptance validation warning: The following restricted
capabilities require approval before you can use them in your app:
runFullTrust.
In my package manifest the only capability ticked is Internet (Client). Nothing else is ticked and the application doesn't need anything to work.
Any idea where this has come from or is set and how I might go about changing this to the correct value. I have done quite a bit of googling and some places suggest ticking or unticking certain things on the package submission page(nothing i ticked on unticked seemed to help) or is this simply because it is uno platform?
Any suggestions would be greatly appreciated.
Edit
As a test I created a brand new uno platform application I also created a new app in the Microsoft app store linked the two. Left every single capability unticked(that's right none were checked) produced and msix submitted it to the store and i am receiving the exact same error. This leads me to think this is because it is an UNO platform app.
In case it is useful im using vs 2022 17.3.6.
This being a store submission question, you may want to check out UWP community server; plenty of people there with apps in the store, someone must have hit the same roadblock as you. https://uwpcommunity.com/
Related
Context:
We want to force the installation of new versions of our MSIX bundled apps. Because of risk of data loss, we don't want to force close them but give users the option to save their work and install the update. Sometimes critical updates happen and we want to update the app ASAP (not wait until next morning).
The solution we have thought of is, using Intune to distribute .appinstaller files, which then will be in charge of installing and updating the app, using the built-in updating system.
Uploading a .appinstaller file via the portal is not supported (AFAIK)
Questions:
Is it possible to distribute .appinstaller files via Intune
Can you schedule app updates in Intune
Is it possible to gracefully close the app in stead of forcing it
Are we looking at it all wrong and are there better ways for facilitating our use case
Thank you for any help in advance!
This is a partial answer that focuses on questions 2 and 3. I am mostly using Azure as opposed to Intune, so I have no idea how to distribute it via Intune. Anyways, you can add a Package.appinstaller file to your MSIX project and specify both what schedule you want to have to update and to allow the user to save their data before the application shuts down and updates. The cool thing here is that this all seems to be handled through configurations as opposed to any code changes. For more information, see the two comprehensive resources that I found useful for one of my questions.
The link below really explains the answer for questions 2 and 3.
http://thewindowsupdate.com/2019/02/22/handling-application-updates-with-app-installer-and-msix-in-windows-10-19h1/
The link below explains some of the context too the answer above as it relates specifically to the version of Windows that is being targeted. This is relevant because if you target a lower version of Windows, then these features and configurations will not work.
https://learn.microsoft.com/en-us/windows/msix/app-installer/update-settings
What's the lowest effort way to get a site with server-generated pages (in my case Laravel/PHP) running as a PhoneGap/Cordova app? I'd rather not have to convert the whole thing into a single page app before importing into PhoneGap/Cordova.
Is it possible to use PhoneGap/Cordova as a very thin wrapper and still load each page live from the server? And if so, how exactly please? I don't think we need any native phone APIs.
Reason for the whole thing is my client insists on "having an app" even though obviously our site will work in a mobile web browser and can have an icon on the user's phone.
Many thanks
Unfortunately for your app to pass Apple App store approval it will have to provide some basic functions and display correctly without an internet connection. This means at a minimum, if you plan to generate content on a server you will probably need the Cordova plugin for network information:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-network-information/
I would make sure you are familiar with the Apple Human Interface Guidelines:
https://developer.apple.com/ios/human-interface-guidelines/overview/design-principles/
You will probably also need to bundle any JavaScript. Apple is very picky about apps that download code (this can include JavaScript).
This is a section from the iOS developer Agreement.
3.3.2 Except as set forth in the next paragraph, 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 exceptions to the
foregoing are 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.
The following is my opinion only
My fear is that if you go at it in a low effort way, best case you will fail app approval. Worst case it will leave users with a poor experience or worse, a poor image of your client. Do it properly and give the app some extra functions that you can't have in a browser alone. I would advise your client of this and see if they would like a proper app that engages their customers and provides them with a great experience.
I'm thinking about a new mobile/tablet application.
I want to allow the users to develop their own plugins.
Imagine a cash desk application running on a Android tablet. The user could use many alternative when connecting to the credit card reader (Square, Sum'Up, ...).
If my application was an old Win32, I would just publish an API and let Square or Sum'Up developpers create a DLL. This DLL would then be placed somewhere on the computer. At application startup, I just have to look for those DLL and dynamically load them.
In fact, the real question is : Is it possible to create a plugin based application ? I'm thinking about Managed Extensibility Framework here. Many questions come to mind :
How to deploy those plugins ?
Does this work for all the platforms (iOS, Android, UWP) ?
...
I was unable to find any documentation on this.
Many thanks for your thoughts and indications.
Not sure if this answers your question fully.
However, a MEF like architecture could probably work on Android if you put the DLL's somewhere publicly discoverable, such as in /storage/emulated/0. Alternatively, such plugins could be distributed as separate Apps, providing Services, Content Providers and Activities consumable from other Apps.
However, on iOS you would not be able to publish such an App in the App Store though, as Apple does not allow you to use dynamically linked libraries there. You could maybe do it for Apps that don't go on the App Store, such as for Enterprise distribution.
While it might not be the greatest solution. You would always be able to navigate between Apps on iOS through URLs. However, that is not the greatest experience, since this would mean you would be leaving your App every time you wanted to get into a "plugin" App to do something.
i used capdetection tool for generating capabilities of of my wp7 app. when i pasted the capabilities generated by the tool, application build was successful but after installing in device application was not opening, after that i reverted back the previously present capabilities in manifest file and then app was launching fine. Is there any problem with capdetection tool. Can some one tell me the problem about the tool, Is that a certification requirement using capdetection tool for declaring capabilities in manifest file?
The tool exists so you can test your app with the capabilities it will be given when available through the marketplace. If you ignore the situation you have described you could end up failing marketplace certification or end up with an app that is unusable.
You are likely relying on a capability that the tool can't detect through static analysis.
I woudl strongly recommend you work out what this capability is and use it in a way that the tool can detect.
You do no need to run the tool for certification, they run it during submission and replace the contents of the file regardless of what you put in there.
I believe the main purpose of it is so you can know in advance what services are going to be requested, giving you a chance to check they are correct.
For example some ad controls include location tracking and if you unexpectedly get that capability added on submission, you will probably fail as you need to ask the user and show privacy statements to have that capability.
I am currently experimenting with programming for my Nokia 5800 XpressMusic (running Symbian 9.4). Setting up the development environment (Carbide C++) was already a huge pain, but now that I am actually able to build something the pain doesn't stop! It seems there is an incredible overhead involved when you actually want to test an application on the phone. But I really hope somebody more experienced than me knows some easy way to do it.
If I understood right every application has to be signed. I can sign applications myself, so this is not a problem and it seems to work fairly well. But then it seems not all capabilities are available if I do this, and the one I need is amongst them. So now I have the option to buy a publisher ID to get a developer certificate (current cost: 200$ - no thanks) or I have to upload the application every time to symbiansigned! Every time I change the code and want to test on the phone I have to upload the thing using a stupid web form!
But now I was excited to find that you can do some remote debugging stuff with a thing called TRK (maybe this spares me the signing?). I hoped that I could use this to connect Carbide and my phone. But this doesn't quite work. My phone doesn't show the application required for this connection although it installed properly. I had a look at the supported Symbian version number and it seems to be 9.2, so not mine :( Stuck again?
And the emulator is no option because it doesn't support sensors and cameras :(
So what am I doing wrong (and sure there must be something)? Is the only way to test my app on the phone to actually upload it every time, wait for it to getting signed, download it again, install it and test - just to see it didn't work and that I have to repeat this process over and over again?? PLEASE no...
follow the instructions here http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml to get yourself a free certificate for 5 testing devices, then you can use this certificate to sign your applications directly without using open sign.
When you use TRK, your application is still installed on the phone (in background, with so called silent installation API - by the way, you can use it too, but it's offtopic), because the only eligible way for a binary to get into the phone is the Installer Service. So you still need some certificate. All three options to get certificate mentioned here are ok, though the last, free one (from Mahdi Hijazi), I suppose, is the preferred. :)
Please go to
http://www.opda.net.cn/register.php
then apply for a OPDA Developer Certificate and download signer tool from the site and use it to sign your symbian applications.