I've pulled some code which works fine in one Xamarin Forms project into another one, iOS still works fine
Android however gets stuck when you've tried to authenticate. Looking at the logger, this happens:
[Mono] Assembly Ref addref Microsoft.IdentityModel.Clients.ActiveDirectory[0xb0be9820] -> System.Runtime.Serialization[0xa7b84420]: 4
[Mono] Assembly Ref addref System.Runtime.Serialization[0xa7b84420] -> System.Core[0xa60eaae0]: 10
[] 2018-02-23T23:06:37.9741530Z: 5fe3f680-5cc2-4ff7-a615-2e50b2ba4ae2 - LoggerBase.cs: Loading from cache.
[] 2018-02-23T23:06:37.9838740Z: 5fe3f680-5cc2-4ff7-a615-2e50b2ba4ae2 - LoggerBase.cs: Looking up cache for a token...
[] 2018-02-23T23:06:37.9878000Z: 5fe3f680-5cc2-4ff7-a615-2e50b2ba4ae2 - LoggerBase.cs: No matching token was found in the cache
It seems to not be storing a valid token on the initial login, and thereafter not returning to the login page, so it's just stuck
Since the code still works in other project, I figure either this specific project has cached something that's not getting deleted on clean, or the android emulator has some common settings that don't get flushed (I've made another emulator, same result)
Any idea how to resolve?
Related
I use "LSApplicationQueriesSchemes" in the project Info.plist, which contains 219 url schemes.
I use the urlscheme contained in this file to determine if an app is installed on our user's phone, which worked fine before iOS15, but recently I had a problem after submitting an app update using xcode13, when I went to check if an app was installed, it prompted me "-canOpenURL:failed for URL: "xxxx://" - error: "This app is not allowed to query for scheme xxxx".
I have added xxxx to the LSApplicationQueriesSchemes, but I still get this error, I tested changing the location or reducing the number of urlscheme included in the LSApplicationQueriesSchemes and found that The first 35 or so of the LSApplicationQueriesSchemes are working fine, and the first 35 or so after that will prompt this error. I don't know if this is a bug in xcode13 or a problem with ios15, it's still not right.
This problem only appears on phones upgraded with iOS15
Apps linked on or after iOS 15 are limited to a maximum of 50 entries in the LSApplicationQueriesSchemes key.
https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl?language=objc
I'm using the sample code provided by DocuSign in the Github project "qs-01-node-embed-signing-ceremony-master".
I've obtained and added my accessToken and accountId.
When the sample code is run via npm start, it displays an error message in the browser window:
Cannot GET /app-shell
Chrome dev tools shows this:
The sample code appears to contain no file named app-shell.
How can I correct this?
I looked at this sample code and tried it from scratch. I cannot find a file named workbox-core.dev.js in there and when I tried it - it worked just fine.
Please check if this is not something in your environment that may be causing this.
Try a new fresh clone from scratch just in case.
It looks like there are unaddressed caching anomalies with the demo code. Selecting "Empty Cache and Hard Reload" in Chrome fixed it.
After successfully signing the test doc, I still got the "Cannot GET /app-shell" message, but that glitch seems to be specific to the demo code.
Hopefully this is enough of a test for me to start implementing Docusign in my app.
Note: It appears that this demo was not built with create-react-app or other tech that auto-rebuilds and reloads the page when the source is edited.
I have a micronaut API like this:
#Get("/")
List<Club> listClubs()
#Get("/{id}")
Club show(Long id)
In my unit test, when I invoke the show method, the listClubs() method is actually getting invoked, instead.
Why is this happening?
Details:
Thinking that my URL mappings must be wrong, I started debugging into Netty to try to understand how the framework constructs URLs.
In HttpClientIntroductionAdvice, the context shows the API method like this:
Club show(Long param0)
The interceptor is setting param0 in the parameter map, which doesn't match the actual parameter name of my method. When the URI template is expanded, this causes the ID to get dropped (thus the URI becomes / instead of /1).
I am trying to follow this example:
https://github.com/alvarosanchez/micronaut-workshop/tree/master/ex02/solution/clubs
There is one important different in my project, which is that the endpoint is set at "/club" instead of at "/":
#Controller("/club")
#Client("/club")
I am using a diff tool to compare my project to the sample, but I am struggling to find any other difference (besides package name changes).
Why is this happening? What should I be looking for?
Thanks
Update:
Tested the target endpoint with the browser - looks fine.
Gradle clean does not resolve the issue.
I switched from debugging the Application class with IntelliJ to using "gradlew run" and in the process, I made a change to build.gradle (adding JVM properties pass-through from the gradle CLI). I also played with enabling/disabling the annotation processor in the IDE.
(note: In the previous project, I enabled annotation processing as soon as I imported into the IDE. On this project, I didn't enable it until I started having issues.)
I think the build.gradle alteration caused the problem to go away. Since the issue shows up unreliably, it's hard to tell for certain if this is the change that caused it to be fixed.
I'm working on an app that instead of a database uses file system in the server's root directory. It's basically a note application that allows me to save notes. Each note is a serialized object of Note class represented by following structure \Data\Notes\MyUsername\Title.txt
When I'm testing this on localhost through IIS Express everything works fine and I can easily go step by step there.
However, once I publish the app to Azure, the folder structure is still there (made a test Controller that uses Directory.GetFiles() and .GetDirectories() to simulate folder browsing so I'm sure that the files are there) but the file simply doesn't get loaded.
Loading script that's being called:
public T Load<T>(string filePath) where T : new()
{
StreamReader reader = null;
try
{
reader = new StreamReader(filePath);
var RawDB = reader.ReadToEnd();
return JsonConvert.DeserializeObject<T>(RawDB);
}
catch
{
return default(T);
}
finally
{
if (reader != null)
reader.Dispose();
}
}
Since I can't normally debug the app on Azure I tried to dump as much info as I can through ViewData and even there, everything looks okay and the paths match, but the deserialized object is still null, and this is only when trying to open an existing note WITHOUT creating a new one first (more on that later)
Additionally, like I said, those new notes get saved in the folder structure, and there's a Note sidebar on the left that allows users to switch between notes. The note browser is nothing more but a list that's collected with a .GetFiles() of that folder.
On Azure, this works normally and if I were to delete one manually it'd be removed from the sidebar as well.
Now here's the kicker. On localhost, adding a note adds it to the sidebar and I can switch between them normally.
Adding a note on Azure makes all Views only display that new note regardless of which note I open and the new note does NOT get stored in the structure (I don't know where it ended up at all!) even though the path is defined at that point normally and it should save just like it does on localhost.
var model = new ViewNoteModel()
{
Note = Load<Note>($#"{NotePath}\{Title}.txt"), //Works on localhost, fails on Azure on many levels. Title is a URL param.
MyNotes = GetMyNotes() //works fine, reads right directory on local and Azure
};
To summarize:
Everything works fine on localhost, Important part doesn't work on Azure.
If new note is not created but an existing note is opened, Correct note gets loaded (based on URL Param) on Localhost, it breaks on Azure and loads default Note object (not null, just the default constructor data since it's required by JsonConvert)
If a new note is created, you'll see it on Localhost and you'll be able to open all other notes regardless, you will see only the new note on Azure regardless of note picked.
It's really strange and I have no idea what could cause this? I thought it had something to do with Azure requests being handled differently so maybe controller pushes the View before the model is initialized completely but that doesn't make sense since there's nothing async here.
However the fact that it loads a note that doesn't exist on the server it's even more apsurd and I have no explanation for that.
Additionally this issue is not linked with a session. I logged in through my phone and it showed the fake note there as well right away.
P.S. Before you say anything about storage, please note this. Our university grants us a very limited Azure subscription. Simple lowest tier App service and 5DTU SQL server and 99% of the rest is locked out of our subscription. This is why I'm storing stuff on the server, not because I believe it's the smart thing to do.
I have been unsuccessful in getting core data to work on an app and today widget on my device.
let url = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.mygroup.name").URLByAppendingPathComponent("fileName.sqllite")
var error: NSError? = nil
let options = [NSMigratePersistentStoresAutomaticallyOption: true,
NSInferMappingModelAutomaticallyOption: true,NSPersistentStoreUbiquitousContentNameKey:"SharedContainerName"
]
let s = coordinator?.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: options
, error: &error)
I have added a group container that I use for the URL of the stores. I have noticed on the simulators that my persistent coordinator points to the same sqllite file
(URL: file:///Users/xxxx/Library/Developer/CoreSimulator/Devices/6Cxxxxxx/data/Containers/Shared/AppGroup/E65xxxxxx/fileName.sqllite))
This seems to work fine on the simulator and I can store data in my main app and fetch it in today widget. When I run the code on my device the files are at different locations and the databases are not synchronized (no data on the today widget).
My Main App
(URL: file:///private/var/mobile/Containers/Shared/AppGroup/2CCXXX/CoreDataUbiquitySupport/mobile~F74XXX/SharedContainerName/0E8XXXX/store/fileName.sqllite))
Today Widget
(URL: file:///private/var/mobile/Containers/Shared/AppGroup/2CCXXX/CoreDataUbiquitySupport/mobile~F74XXX/SharedContainerName/2FBYYYY/store/fileName.sqllite))
I am assuming this should be fine as they should be synchronized by iCloud. The widget runs fine, however it has no data (like it has not been synchronized). Now debugging this has been tricky as I am unable to get console output while running the today widget. When I run the widget from Xcode as opposed to attaching to the running process (The only way I can get any output on the console) I receive an error core data iCloud: Error: initial sync notification returned an error BRCloudDocsErrorDomain error 12. I receive no notifications. Maybe iCloud and Core Data do not work at this time with a today widget? The core data code in my app and extension are identical so I do not think I have a bug.
According to this Apple Developer Forum message from an Apple employee:
None of iCloud is accessible from within an Extension in iOS 8.0
and he adds in another message:
Document syncing, I should clarify, or anything which requires file coordination. I'm not sure about KVS or CloudKit
The recommendation is to expose the application state to extensions using some other method (plist, separate files, etc), which is a bit of a bummer.