我目前正在使用 Salesforce.com IOS SDK 版本 3.0 来构建连接到 salesforce 的本机应用程序。这个应用程序将用于外部用户,因此它指向社区。
我首先创建了一个 Native IOS SDK 应用程序,然后让它工作并与销售人员交谈。
然后我创建了一个新社区,创建了一个社区用户,给了他们适当的权限并完成了社区的设置。
接下来我进入了 Xcode 项目,在应用程序 plist 的支持文件下。然后我编辑了 SFDCOAuthLoginHost 以设置为社区 URL。
完成后,我重新启动了应用程序,并能够通过本机 SDK 登录到社区,一切都会很好,直到应用程序达到会话超时。此时我收到这些错误。
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]
当然,因为它无法获得新会话,所以在此之后所有 Web 标注都会失败。
我到处搜索,找不到解决这个问题的方法。我的猜测是,因为请求是向社区 URL 发出的,但是刷新的会话是从 cs21.salesforce.com 发送的,所以它被忽略了。再次感谢大家的时间。