Tag: heroku

Heroku上Kitura入门

Kitura是IBM创建的Web框架。 这是一个非常简单的框架,与Sinatra,Express,Lumen和Flask之类的框架有很多相似之处。 它是用Swift编写的,因此在使用它方面有很多吸引力,因为您可以开始考虑使用相同的语言编写客户端代码(假设您正在为iOS和OS X进行构建)和服务器端代码。 这不是我们第一次看到这种东西。 在基于浏览器的应用程序领域,借助NodeJS之类的工具,您可以在浏览器和服务器上编写Javascript。 在Android上,由于使用Java,您可以与您的后端和应用程序共享代码(这在Java领域绝对是一个巨大的胜利)。 就个人而言,随着Swift 3的发布,我开始对Swift作为服务器端语言非常感兴趣,该版本捆绑在Swift Package Manager(SPM)和Foundation的本机端口中。 对于那些不了解的人来说,Foundation是为Objective-C和Swift带来很多好处的关键框架之一。 由于原始的Foundation库是用Objective-C编写的,因此Linux上的Swift尚无法使用它,但是现在人们已经在努力在Swift中重新实现Foundation本身,并且它开始取得成果。 设定 迅速 为了便于撰写本文,我假设您正在OS X上运行,在这种情况下,您将要跳到App Store并获取Xcode8。如果您不是App Store的粉丝,那么它也是可通过Apple Developer Portal直接下载。 在Linux上进行设置有点麻烦,但是Swift网站上为您概述了一些安装步骤。 安装完所有内容后,您将可以运行: $ swift-版本 这应该显示您当前已安装的Swift版本。 对于本指南,我假设您正在运行Swift 3.0。 Heroku 接下来,您将要抓住Heroku工具带。 这将为您的计算机设置所有内容,我假设您已经在Heroku中创建了一个帐户,并且此时已使用工具带登录。 不用担心,您现在还不需要创建任何应用。 建立 现在您已经设置好开发环境,我们可以开始实际构建应用程序了。 首先,您将要为您的应用程序创建项目结构。 Swift Package Manager(SPM)在这里为您提供帮助: $ mkdir myFirstKituraApp $ cd myFirstKituraApp $ swift软件包init –type可执行文件 这将为您设置以下标准SPM文件夹结构: 。 ├──.gitignore ├──Package.swift ├──套餐 ├──资料来源 │└──main.swift └──测试 […]

教程:使用Swift,Node和Wit构建一个简单的机器人

最近,我有机会为客户构建了一个iOS 聊天机器人应用程序。 该客户是一家汽车制造商,希望以一种“友好和对话的方式来获取有关您的新车的信息并排除故障。”原因很简单:在当今时代,人们很少在手套箱中寻找那种笨重的汽车手册。找出仪表板上红色闪烁的灯是什么意思。 相反,他们去了谷歌,或者他们给认识汽车的朋友发了短信。 它更快,更简单。 那么,如果汽车配备了具有所有答案的应用程序怎么办? 一个应用程序,您可以直接问“我如何打开巡航控制系统?”之类的问题,它仅向您显示如何执行此操作,直接来自汽车制造商本身而不是外部来源。 不幸的是,我只参与了该应用程序的前端。 所以我对后端感到好奇……这个机器人谁在发送所有这些JSON好东西? 事实证明,在当今时代,我们有很多选择(一些开源甚至有些免费)来构建机器人和AI,这可能是一个非常简单的任务。 因此,让我们构建一个可以处理人类基本互动的聊天机器人。 在本教程中,我们将在前端使用Swift 3,在后端使用Node和Express,并在AI中使用Wit。 威特 首先,我们需要注册机智:https://wit.ai/ 机智需要使用Facebook或Github帐户进行注册。 登录后,Wit会自动为您设置一个应用程序MyFirstApp 。 您可以转到设置并将其名称更改为任意名称。 您还可以在此处更改默认时区和语言。 机智有一个“快速入门”教程,其中向您展示了如何创建“故事”,这基本上是与您的机器人进行对话的一个示例。 在他们的快速入门教程中,他们向您展示了如何创建一个可以使用node js客户端发出天气预报的机器人。 对于我们的机器人,让我们从更简单的内容开始。 点击“创建故事”,并将其命名为“你好”。 在“用户说…”字段中键入Hello 。 对于“意图”字段,输入“值” greeting 。 接下来,点击“自动发送”,然后输入您希望机器人响应的消息。 我们将机器人命名为Lucas ,因此我们将使用: Hi, my name is Lucas. What should I call you? Hi, my name is Lucas. What should I call you? 作为漫游器响应,因为我们希望Lucas 知道与之交互的用户的名称。 […]

使用Swift创建iPhone应用程序,该应用程序使用Stripe和Heroku向信用卡收费

使用Swift创建iPhone应用程序,该应用程序使用Stripe和Heroku向信用卡收费 初学者入门教程,在Swift iPhone 6 OS 9上使用Xcode和Sublime与Composer,CocoaPods,Stripe和Alamofire创建首次充电,该OS与从您的OS X El Capitan终端运行的PHP Heroku服务器通信。 YouTube教程:http://youtu.be/ndho8R-VAPc 登录到您的资料: 确保您具有Apple ID和密码 注册/登录Stripe.com 注册/登录heroku.com 更新您的资料: 最新的Xcode和Swift:https://developer.apple.com/downloads或http://adcdownload.apple.com/Developer_Tools/Xcode_7.3/Xcode_7.3.dmg 最新Sublime:https://www.sublimetext.com/3(我正在使用v2) 最新的作曲者:https://getcomposer.org/download/ 最新的Git:https://git-scm.com/downloads或https://coolestguidesontheplanet.com/install-update-latest-version-git-mac-osx-10-9-mavericks/ 最新的PHP:http://php-osx.liip.ch/或https://coolestguidesontheplanet.com/upgrade-php-on-osx/(我正在使用v5.5.30) 最新的Heroku工具带:https://toolbelt.heroku.com/ 最新的CocoaPods:https://cocoapods.org/ 准备你的东西: 在浏览器中打开两个新选项卡,然后登录Stripe和Heroku仪表板。 打开一个新的终端窗口(应用程序->实用程序->终端) 在终端窗口中,键入(在美元符号和空格后看到的单词),然后单击Enter: $ CD 这将带我们回家,您的项目文件将在其中保存。 *如果您从未使用过终端,请在Codecademy(https://www.codecademy.com/learn/learn-the-command-line)上尝试本教程。将其弄乱几分钟,以便您轻松使用实际的终端。 现在,为您的新项目创建一个文件夹。 $ mkdir stripe-app $ CD $ ls $打开条纹应用程序 这将创建一个名为stripe-test的新文件夹,将目录更改回主文件夹,列出主文件夹中的文件,然后在Finder窗口(可以关闭)中打开实际文件夹。 打开Xcode以创建一个名为Stripe-test的新Xcode项目作为Single View Application,并将其保存到刚创建的文件夹中(home-> stripe-test)。 不要忘记从应用程序的“常规”选项卡中选择团队。这可能需要您使用Apple ID和密码登录。 退出Xcode。 再次打开终端到服务器文件夹: $ CD $ cd stripe-app […]

iOS到条带化API身份验证(Swift 3 + Node.js + XCode教程)

在过去的几年中,Stripe已成长为在线支付领域的重要平台。 Stripe在开发人员社区中尤其受欢迎-凭借其友好的API,开发人员可以非常快速地将Stripe插入其网站/应用程序。 在本教程中,我们将介绍通过Swift应用程序启动对Stripe帐户的身份验证的过程。 本教程假定您已经有一个Stripe Account设置。 希望这将是许多Swift / Stripe教程中的第一个。 敬请关注! 本教程由2个组件组成; 客户端iOS Swift应用程序和后端Node.js应用程序。 我们将从Node.js应用程序开始依次介绍每一个。 转到此>> Git存储库以访问已为您设置的Node.js应用程序。 提供的自述文件将引导您完成如何克隆存储库,执行必要的编辑并将其部署在Heroku上的说明。 通过设置Node.js应用程序并在Heroku上运行,我们现在将完成一个简单的任务,即创建将与Node.js后端一起使用的客户端Swift应用程序,以对您的Stripe帐户进行身份验证-仅需15个简单步骤! 注意:您可以在此处访问该项目第2部分的存储库>> 步骤1。 创建一个单一视图应用程序,并为其分配一个适当的名称。 我叫我StripeConnectApp 第2步。 删除默认创建的两个文件,即ViewController.swift和LaunchScreen.storyboard 。 我喜欢这样做纯粹是出于整理的目的,尤其是因为我不需要该项目的启动屏幕 第三步 创建2个Cocoa Touch类(它们都是UIViewController的子类),分别命名为MainViewController和StripeConnectViewController 。 步骤4。 下载>>,解压缩3个图像文件并将其拖到Assets.xcassets文件夹中。 在我们进行项目时,将在以后的阶段中引用它们。 第五步 将IDE界面切换到故事板— Main.storyboard 。 选择默认的ViewController场景并将其嵌入到导航控制器中,如下所示。 第六步 在ViewController上选择了Navigation Item的“ Attributes Inspector”部分中,如下所示填充Title和Back Button属性的值。 步骤7 将一个Button UI元素从“对象库”拖到默认的“视图控制器”上。 选中“按钮”后,在“属性”检查器中,转到“图像”属性,然后选择可用的图像,如下所示。 步骤8 调整按钮的宽度以适合其附带的图像。 重新放置Button,将其放置在ViewController的中心并设置其约束,如下所示。 步骤9。 选择默认的ViewController后,在Identity Inspector部分中,从Class属性中选择“ MainViewController ”,如下所示。 […]

获取后台安全问题的数据 – parsing

当我尝试在后台下载PFFile数据时,出现“罕见”错误。 我有这个代码: pfimage.getDataInBackgroundWithBlock { (imgData:NSData?,error: NSError?) -> Void in cell.imagen.image = UIImage(data: imgData!) } 关于这个奇怪的事情是,我在模拟器和我的Ipad中得到一个错误,但我没有得到我的iPhone的任何错误。 这是错误的: 2016-03-26 00:48:32.769应用传输安全已经阻止了明文HTTP(http://)资源加载,因为它是不安全的。 临时例外可以通过您的应用程序的Info.plist文件进行configuration。 我不明白为什么发生这种情况,因为我的连接到parsing服务器是在https:….,除了为什么只发生在我的iPad和模拟器(iPad和iPhone都在同一个IOS版本) 我知道很多答案只是说在plist添加例外,但没有任何其他方式?

处理所有的网站一次性根源静态文件,如favicon.ico可靠和优雅?

也许我错过了一些东西(我希望我是这样),但是要处理浏览器请求的一次性根网站文件,如favicon.ico和像apple-touch-icon这样的东西似乎非常笨重-precomposed.png(在iPad上)。 现在,我遇到一个500服务器错误,每当我遇到这些我没有明确提供一个文件。 我的问题: 是否有最新的所有主stream浏览器的这样的文件列表,我的web应用程序应该处理? 作为一个失败的安全,有没有办法让这些文件中的任何一个默默地失败,也就是说,如果Web应用程序继续其快乐的方式,不会得到一个500服务器错误,只需使用一个空白的favicon或什么? 我在Heroku上运行一个Django应用程序,用gunicorn。

从沙盒切换后,推送通知在生产环境中不起作用

嗨,所以我现在很困惑,不知道下一步该怎么做。 我已经花了两周的时间让这些推送通知正常工作,当我最终把它们整齐整齐的时候,我把它放到一个adhoc分发包中,并把服务器configuration切换到生产环境,突然没有任何工作,我没有错误信息要脱落。 它应该工作,它应该工作,而不是。 所以我需要一些帮助,因为我迷路了。 可能的问题 – 主机configuration 真正帮助我得到它的工作原来是这里的教程,托pipe服务器是Heroku和应用程序是使用这个gem在Sinatra写的,如果这不会传递到生产环境在某种程度上,我没有看到请告诉我。 为了将环境更新到生产环境,我只是将gateway.sandbox.push.apple.com中使用的密钥和主机更改为gateway.push.apple.com,如下所示: APNS键 我不认为这是事实,但我不明白发生了什么,所以我logging了它,但我相信分配键的作品 – 运行 openssl s_client -connect gateway.push.apple.com:2195 -cert dis_apskey.pem 在terminal得到了与推送服务器的连接和交易: 我相信这意味着它的工作,虽然我不知道肯定(见编辑答案,这并不意味着它的工作)。 钥匙是用这个命令做的: openssl pkcs12 -in aps_distribution.p12 -out dis_apskey.pem -nodes 从iOS开发门户下载的APS开发和分发证书的私钥或现在调用的任何其他证书,导出为.p12encryption文件: 虽然,从不同的私人钥匙,他们却变得很奇怪(所有的字符都是一样的) – 这是正常的吗? 因为我做了两个推送服务证书来自同一个CSR,所以我不知道我完全失败了,只是把它扔在那里,因为没有任何意义了。 代码签名 我相信这是正确的(从我的Xcode项目): 这些对应于我的iOS开发人员门户中的证书和移动设置configuration文件,我已经重新生成了许多新的,在xcode中刷新它们,再次检查并重新加载到这个东西,我很难相信这是该地区的问题。 但是为了确保我发布,这些是当前的configuration文件,在APS证书发布后制作。 再一次,这对我来说并没有什么意义,是的,我已经阅读了文档,而且还是希腊文。 移动设备令牌 这又一次,我不认为是问题。 我的应用程序使用开发configuration文件生成了一个令牌,沙盒能够将通知推送给它,并且它工作得很好! 然后我的应用程序生成一个新的令牌,当我切换到adhocconfiguration文件,并build立,但与生产环境没有什么可以通过它。 我会再说一遍,沙盒上的所有东西都能正常工作,但现在不行。 任何其他原因? 这就是我所能想到的,如果任何人有别的东西,请让我知道。 我只是想这个工作,我不能看到错误,如果苹果发回他们失败的推,所以我不知道。 这是在开发人员沙箱中工作,现在应该工作,这就是我所能想到的。 谢谢。