我目前正在使用 Salesforce.com IOS SDK 版本 3.0 来构建连接到 salesforce 的 native 应用程序。这个应用程序将用于外部用户,因此它指向社区。
我首先创建了一个 Native IOS SDK 应用程序,然后让该应用程序正常工作并与销售人员交谈。
然后我创建了一个新社区,创建了一个社区用户,为他们提供了适当的权限并完成了社区的设置。
接下来我进入了 Xcode 项目,在应用程序 plist 的支持文件下。然后我编辑了 SFDCOAuthLoginHost 以设置为社区 URL。
完成后,我重新启动了应用程序,并能够通过 native SDK 登录到社区,并且一切正常,直到应用程序达到其 session 超时。此时我收到这些错误。
ERROR|SFNetworkOperation|callDelegateDidFailWithError Session expired or invalid
ERROR|SFNetworkOperation|Session timeout encountered. Requeue 0.000000or retry later
ERROR|SFNetworkEngine|Ignore session timeout error callback as host URL changed, request URL is https://dev-patientsupport-dev.cs21.force.com/dev/services/apexrest/patientNotifications, login host is [cs21.salesforce.com]
当然,因为它无法获得新 session ,所以在此之后所有网络标注都会失败。
我到处搜索,找不到解决这个问题的方法。我的猜测是,因为请求是向社区 URL 发出的,但刷新的 session 是从 cs21.salesforce.com 发送的,所以它被忽略了。再次感谢大家的时间。
Best Answer-推荐答案 strong>
已在 GitHub、npm (forceios) 和 Cocoapods 上作为 Mobile SDK 3.1.1 补丁的一部分提交了针对此错误的修复。请参阅 https://plus.google.com/105428096535342044035/posts/AkoVwL5Kdt3更多细节。
关于ios - Salesforce Native IOS SDK 无法刷新访问 token ,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28353744/
|