How to get Sharing Details in App Designer
21 次查看(过去 30 天)
显示 更早的评论
Hello,
is there a method to get the sharing details of the App Designer into my code.
For example I want to display the version and name of the app somewhere in my GUI without programming it directly. So when I create a new version of my app I only have to change the information in the sharing details and it will be updated in my GUI automatically.
Thanks!
8 个评论
Anna H.
2024-7-24
I also would like to show the version in the userinterface of my app and access it programatically
采纳的回答
Maxi
2024-10-29
3 个评论
Francisco Sacchetti
2024-11-12
Maxi Do you have some documentation about this aproach so I can try to find out why it does not work in matlab webapp?
Thank you for your help.
Regards,
Francisco
更多回答(2 个)
Taylor
2024-1-23
When you go to package the app there is a field for the version number.

When the app is installed, the user can view the version number by hovering over the app.

4 个评论
Taylor
2024-4-16
@Maxi @Allen @Adee Is this more what you're looking for? https://www.mathworks.com/matlabcentral/answers/2050932-how-to-access-app-version-number-from-inside-the-app
Adee
2024-6-18
@Taylor, it doesn't seem to work - the code you pointed to takes the version number from the executable file, not from the app designer metadata.
The information in "Sharing details" is not propagated to the execuable file by the Matlab compiler. The version number can be specified using the "-W" switch but it still poses the problem of how to get the right number from the mlapp file...
Also, these details should preferably be available when running the app under MATLAB (before it is deployed).
Brian
2024-11-19
The below function is what I use to detect the application version and compile date from within an application. This uses the xml2struct function from the File Exchange (https://www.mathworks.com/matlabcentral/fileexchange/28518-xml2struct) to parse the installer file info.
function [ver,date] = CheckAppVersion
% This function examines the installer info to determine the version number
% and release date of an application
if isdeployed
[~, result] = system('path');
p = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
xmlLocation=fullfile(p,'..','uninstall','ApplicationInstallerManifest.xml');
appInfo=xml2struct(xmlLocation);
ver=appInfo.ApplicationInstallerManifest.Version.Text;
file=dir(xmlLocation);
date=datetime(file.date);
date=char(datetime(date,'Format','dd-MMM-yyyy'));
else
fullpath=mfilename('fullpath');
s=settings;
if ~isempty(strfind(fullpath,s.matlab.addons.InstallationFolder.ActiveValue)) % If run from app
[p,~]=fileparts(fullpath); psplit=strsplit(p,filesep);
p=strjoin(psplit(1:find(strcmp(psplit,'Apps'))+1),filesep);
if isfolder(fullfile(p,'resources'))
xmlLocation=fullfile(p,'resources','addons_core.xml');
appInfo=xml2struct(xmlLocation);
ver=appInfo.addonCore.version.Text;
file=dir(xmlLocation);
date=datetime(file.date);
date=char(datetime(date,'Format','dd-MMM-yyyy'));
else
ver='debug';
date='dd-MMM-yyyy';
end
else % If run from MATLAB mlapp file
ver='debug';
date='dd-MMM-yyyy';
end
end
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Package and Share Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!