我创建了一个演示应用程序,该应用程序可通过Azure Active Directory对用户进行身份验证,并能够与简单表进行同步。当我在Azure Portal上使用SQL数据库连接App Service时,在iOS swift应用程序中获取表数据会引发401错误。下面是代码段。
let client = MSClient(applicationURLString: "URL String")
let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).managedObjectContext!
self.store = MSCoreDataStore(managedObjectContext: managedObjectContext)
client.syncContext = MSSyncContext(delegate: nil, dataSource: self.store, callback: nil)
self.table = client.syncTable(withName: "table name")
self.refreshControl?.addTarget(self, action: #selector(ActivityTableViewController.onRefresh(_:)), for: UIControlEvents.valueChanged)
API调用(onRefresh调用):
self.table!.pull(with: self.table?.query(), queryId: "AllRecords") {
(error) -> Void in DispatchQueue.main.async {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
// throws 401 error here
}
}
现在,我已经绕过了用户身份验证,在Azure App Service中,easy表可以正常工作,并且我可以从移动应用程序访问数据。
我将SQL数据库与App Service连接起来,并创建了一个简单的表,其名称与我在SQL数据库中的名称相同。它在easy表中创建了与SQL数据库中相同的架构。现在的问题是我无法从此表中获取移动应用程序中的数据。 SQL数据库在表中有条目。