POST
|
Greetings, Since you posted question under Swift Maps SDK Questions, I assumed that you are using the v200.x. > Does the ArcGIS SDK v200.x support UIKit or it just supports SwiftUI? The v200.x supports SwiftUI. However, iOS SDK supports converting UIKit views to SwiftUI. You'll find more information in UIKit Integration. Hope this helps! Regards, Nimesh
... View more
10-02-2023
08:27 AM
|
0
|
1
|
551
|
POST
|
Greetings, The ArcGIS Maps SDK supports the proxy using the connectionProxyDictionary. You can use following code for setting the proxy with desired parameters at the start of the application. Then all data requests sent by the SDK will go through proxy. let configuration = URLSessionConfiguration.default
configuration.connectionProxyDictionary = [
"HTTPSEnable": true,
"HTTPSProxy": "localhost",
"HTTPSPort": 9090
]
ArcGISEnvironment.urlSession = ArcGISURLSession { configuration } If you would like to do the same for download requests then set ArcGISEnvironment.backgroundURLSession. Hope this helps! Regards, Nimesh
... View more
09-28-2023
08:19 AM
|
1
|
0
|
588
|
POST
|
Hi Frank, Like 100.x SDK, the credential property is not available in 200.x SDK. Please refer the Migrate authentication from 100.x to 200.x doc for all the differences. You can create the credential and add it to the store before creating and loading the service feature table. let tokenCredential = try await TokenCredential.credential(
for: URL(string: "<service feature table url>")!,
username: "username",
password: "password"
)
ArcGISEnvironment.authenticationManager.arcGISCredentialStore.add(tokenCredential)
let table = ServiceFeatureTable(url: URL(string: "<service feature table url>")!)
try await table.load() Hope this helps! Regards, Nimesh
... View more
07-28-2023
08:07 AM
|
2
|
1
|
374
|
POST
|
Hi @mprogers, Have you added the ArcGIS package as per step 3 of `Create a new Xcode project`? 3. Add a reference to the API using Swift Package Manager. Regards, Nimesh
... View more
07-05-2023
08:21 AM
|
0
|
0
|
702
|
POST
|
Hi Abhishek, Thank you for your interest in the ArcGIS Maps SDK for Swift. The production release for the Swift SDK is expected to be sometime next week. So I would suggest getting started with current beta release and switch to production release when it is out. Regards, Nimesh
... View more
04-14-2023
08:32 AM
|
3
|
0
|
570
|
POST
|
> 1. Is there any way to suppress the prompt to enter the credentials, so we can supply the credentials through code. Yes, you can create `AGSCredential` with `username` and `password` using the initializer and set it on the object you are trying to load like this, let portal = AGSPortal.arcGISOnline(withLoginRequired: true) let credential = AGSCredential(user: "<username>", password: "<password>") portal.credential = credential > 2. Is there any way to use the token generated through the rest end point (/generateToken) and provide to the runtime for accessing the layers. Yes, you can create `AGSCredential` with pre-generated token and referer using initializer. However, that the token not be automatically re-generated when expired. If expired, you'll see an authentication challenge and will have to provide a new credential. Regards, Nimesh
... View more
01-05-2023
07:56 AM
|
0
|
0
|
534
|
POST
|
Hi AxnMax, The iOS Runtime SDK supports loading a secured resources like layers, tables and portal. When you try to load any secured resource it detects the configured security on the server and prompts you to enter the credentials. If the service is secured using token authentication then provided username/password in the prompt will be used to create the `AGSCredential` object and token will be generated. Once, the object is loaded the created credential during the authentication process will be available as `credential` property of the object. Also, the credential will be stored in the `credential cache` at `AGSAuthenticationManager.shared().credentialCache`. The sample code is available in Token Authentication sample. Regards, Nimesh
... View more
01-04-2023
08:08 AM
|
0
|
2
|
557
|
POST
|
Thanks for letting us know and glad you were able to track it down! Regards, Nimesh
... View more
12-07-2022
01:09 PM
|
0
|
0
|
642
|
POST
|
Hello Andriy Fedin, Based on the error information provided, either the server or the additional security layer is engaging in the `Client Certificate` challenge. Could you please elaborate on the security setups on your environments? Error Domain=com.esri.arcgis.runtime.services.error Code=401 "Credential Required" UserInfo={NSURL=https://<NDA_domain.com>/FeatureServer/4, NSLocalizedDescription=Credential Required, protectionSpace=<NSURLProtectionSpace: 0x600000980f10>: Host:<NDA_domain.com>, Server:https, Auth-Scheme:NSURLAuthenticationMethodClientCertificate, Realm:(null), Port:443, Proxy:NO, Proxy-Type:(null)} Also, you can please create request log by setting properties on request configuration. You can send the log file to me directly. let config = AGSRequestConfiguration.global() config.debugLogFileURL = URL(fileURLWithPath: "<path>/requestLog.md") config.debugLogDeleteBeforeEachRun = true config.debugLogRequests = true config.debugLogIncludeRequestHeaders = true config.debugLogResponses = true config.debugLogIncludeResponseHeaders = true Regards, Nimesh
... View more
11-09-2022
03:48 PM
|
1
|
2
|
690
|
POST
|
You can try following steps, 1. Set `AGSAuthenticationManager.delegate`. 2. In the delegate implement authenticationManager:didReceiveAuthenticationChallenge: 3. When challenge is issued for the portal, get the token through your custom implementation. 4. Create AGSCredential with generated token. 5. On the `AGSAuthenticationChallenge` object call, continueWithCredential: If this works, the only problem will be that we'll not be able to automatically refresh token when it expires. Regards, Nimesh
... View more
04-07-2022
02:12 PM
|
0
|
0
|
550
|
POST
|
You need to setup the ArcGIS Enterprise portal to use the OpenID connect. Please refer below link. https://enterprise.arcgis.com/en/portal/latest/administer/windows/openid-connect-logins.htm In ArcGIS Runtime, you need to initiate the portal loading using OAuth and in the OAuth login page you should see an option to login using the OpenID connect you have configured above. The Authenticate with OAuth sample may be helpful. There some more docs available to configure OpenID using different type of accounts. https://github.com/Esri/idp/tree/main/Documentation/OpenID Hope this helps! Regards, Nimesh
... View more
04-05-2022
03:58 PM
|
0
|
0
|
567
|
POST
|
Hi Greg, 1. Just to let you know why we deprecated those delegate methods. We were using SFSafariViewController to display the OAuth login page which is changed to use ASWebAuthenticationSession which does not require the AppDelegate's, application(_:openUrl:Options:) to be called. Still you have to setup your App to use the redirectURL as ASWebAuthenticationSession is going to use it. Also, the additional prompt you are getting is from ASWebAuthenticationSession as well. 2. You don't need to generate a token using the Esri login code as we do it. 3. Once, AGSPortal object is loaded, you will see the generated access token using the Esri login code on the AGSPortal.credential.token. Hope this helps! Regards, Nimesh
... View more
11-10-2021
09:46 AM
|
0
|
1
|
922
|
POST
|
Hi Greg, I would like to know and understand few things to help you with this issue. 1. What do you mean by my OAuth single-sign-on does not work? 2. What extra code you had in the AppDelegate's, application(_:openUrl:Options:)? 3. What you were doing with the Esri login code from the delegate method? Regards, Nimesh
... View more
11-10-2021
07:33 AM
|
0
|
2
|
928
|
POST
|
The support to evaluate popup expression started in 100.8. The AGSPopup's evaluateExpressionsWithCompletion: has information, `Since100.8`. Hope this helps! Regards, Nimesh
... View more
11-01-2021
08:55 AM
|
1
|
0
|
304
|
POST
|
Hi Shimin, Thank you for the new log file. I analyzed the log file and particularly the HTTP responses and response headers. Based on that looks like your server setup has load balancer. The responses with response header Server = "" are working fine and responses which has Server = "awselb/2.0" are responding the HTTP status code 403. The response code 403 is considered as an authentication error and we prompt for the credential. You will have to figure out why that server responds with HTTP status code 403. Regards, Nimesh
... View more
10-13-2021
09:48 AM
|
0
|
2
|
2002
|
Title | Kudos | Posted |
---|---|---|
1 | 03-12-2024 08:54 AM | |
1 | 09-28-2023 08:19 AM | |
2 | 07-28-2023 08:07 AM | |
1 | 06-27-2013 10:42 AM | |
3 | 04-14-2023 08:32 AM |
Online Status |
Offline
|
Date Last Visited |
18 hours ago
|