I did an app refresh and then 'sencha app build development'. I changed everything to 'classicaria' and it works now because the name isn't 4 characters.
Set a breakpoint on this line in the run() method and you'll see why 4 characters doesn't append the '.json'.
Code:
url = manifest.indexOf(extension) === manifest.length - extension.length
? manifest
: manifest + ".json",
This is what my beforeLoad has to detect new profile (this one is working).
Code:
Ext.beforeLoad = function (tags) {
var s = location.search, // the query string (ex "?foo=1&bar")
profile;
// For testing look for "?classic" or "?modern" in the URL to override
// device detection default.
//
if (s.match(/\bclassic\b/)) {
profile = 'classic';
}
else if (s.match(/\bmodern\b/)) {
profile = 'modern';
}
else if (s.match(/\bclassicaria\b/)) {
profile = 'classicaria';
}
else {
// profile = tags.desktop ? 'classic' : 'modern';
profile = tags.phone ? 'modern' : 'classic';
}
Ext.manifest = profile; // this name must match a build profile name
// This function is called once the manifest is available but before
// any data is pulled from it.
//
//return function (manifest) {
// peek at / modify the manifest object
//};
};
And my app.json (again the working version)
Code:
"builds": {
"classic": {
"toolkit": "classic",
"theme": "wp-theme-architect-desktop",
"sass": {
// "save": "classic/sass/save.scss"
}
},
"classicaria": {
"toolkit": "classic",
"theme": "theme-aria",
"sass": {
// "save": "classic/sass/save.scss"
}
}
// "modern": {
// "toolkit": "modern",
// "theme": "theme-neptune",
// "sass": {
// // "save": "modern/sass/save.scss"
// }
// }
},