从iOS Swift应用访问Azure SQL数据库表时出现问题

时间:2019-03-29 08:08:18

标签: ios swift azure azure-sql-database

我创建了一个演示应用程序,该应用程序可通过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数据库在表中有条目。

0 个答案:

没有答案