Swift和Xcode 9中的iOS版Salesforce SDK入门

我遇到了一个名为“ 本机iOS-使用Salesforce Mobile SDK开发本机iOS应用程序 ”的模块,我对此很感兴趣,因此决定启动它。

我很早就遇到了问题,并且我没有看到太多有关Xcode 9和Swift的文档,所以我决定在这里写我的经验,因为它可能对某些人有用。

第一步,我由Salesforce下载了移动SDK文档,因为它包含了您一路需要的有价值的信息。 提醒一下,所有Mobile SDK开发都需要以下软件。

  • Node.js
  • Npm 3.10或更高版本(与Node.js一起安装)。
  • 具有连接的应用程序的Salesforce Developer Edition组织。
  • 使用Mobile SDK 6.0进行iOS开发还需要以下软件:iOS 10或更高版本,Xcode 9或更高版本。 (我们建议使用最新版本。),CocoaPods 1.2版或更高版本(cocoapods.org)和forceios 6.0版。

剧透警报 -本文将帮助您度过Trailhead上的第一个挑战,请不要使用它来作弊并尝试首先自己解决。

步骤1 —在Salesforce中获取已连接的应用程序的回调URL和使用者密钥

此步骤假设您正在使用Salesforce Lightning Experience,并且已经创建了一个已连接的应用程序-如果您需要有关如何创建应用程序的帮助,请检查此Salesforce Trailhead模块。

  1. 在您的Trailhead Playground或Developer Edition组织中,转到“设置”。
  2. 如果您使用的是Lightning Experience,请选择“ 应用程序” |“ 应用程序”应用程序管理器 ,在我的案例“ Trailhead Native iOS”中本地化您的应用程序,然后单击箭头和“ 视图”
  3. 将您的使用者密钥回调URL复制并粘贴到文本文件中,以后将需要它们。

第2步-为Xcode创建iOS本机Swift模板

首先,我遇到了我的Git版本的麻烦,不得不再次安装它。 否则,这很简单。

在终端窗口中,使用forceios创建。

$ forceios创建

输入您的应用程序类型(本机,native_swift): native_Swift
输入您的应用程序名称: Trailhead Native iOS
输入您的应用程序的软件包名称(com.mycompany.myapp): com.trailhead.something
输入您的组织名称(Acme,Inc.): 测试
输入应用程序的输出目录(在当前目录中保留空白): testNative

我花了一段时间,不确定这是否是由于我的互联网连接薄弱所致,请耐心等待。

现在,在Xcode 9中打开TrailheadiOSTest.xcworkspace

您可能会看到一些错误,具体取决于您的环境设置-就我而言,我遇到了很多错误。 首先,我更新为推荐设置。

我经常在Xcode中遇到一些索引编制/自动完成问题,通常可以通过给Xcode更多的时间和清理/构建操作来解决。

但是,这次我无法导入SalesforceSwiftSDK,错误是“无法为’SalesforceSwiftSDK’加载底层模块”-我通过直接从Github克隆SalesforceMobileSDK-iOS并按照说明解决了此问题。

首先,克隆仓库:

  • 打开终端应用
  • cd到repo目录所在的父目录
  • git clone https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git

克隆仓库后:

  • cd SalesforceMobileSDK-iOS
  • ./install.sh

然后,我将“ SalesforceMobileSDK-iOS”下的所有文件复制并粘贴到Xcode项目文件夹中的“ SalesforceMobileSDK-iOS”中。

步骤3 —自定义您的AppDelegate.swift

回到正轨,使用您先前在文本文件中记下的使用者密钥回调URL更新AppDelegate.swift。

完成此操作后,使用Xcode模拟器运行并构建应用。 您应该在模拟器上看到以下屏幕。

步骤4 —在Salesforce中验证您的Connected App的登录历史记录

现在,您可以在Saleforce Connected Apps OAuth使用情况中直接验证应用程序的登录历史记录。

恭喜你! 如果您使用的是Trailhead,则可以单击Trailhead上的Check Challenge按钮。

如果您需要Hybrid,Android和iOS Objective C部分的帮助,我建议阅读Richard Whitley的这篇中等文章。

我将更新本文,并继续写我对Salesforce移动SDK和Swift的经验,敬请期待。 您可以在此处查看我的Trailhead个人资料。

Interesting Posts