Tag: sdk

LocusMaps Mobile SDK简介

上面的应用程序屏幕截图是使用LocusLabs iOS SDK渲染的洛杉矶国际机场的鸟瞰图。 使用我们先进的制图技术和场馆管理系统进行编译,它不仅可以捕获详细的空间几何图形,还可以捕获场馆元数据,例如兴​​趣点和路线选项。 在本文的结尾,我们提供了一些代码片段,以说明使用我们的SDK执行操作(例如显示兴趣点,查找方向或执行搜索)有多么容易。 影片示范 以下视频简要演示了我们的SDK的功能,您将看到: LAX地图的细节和丰富性 停车后识别用户的位置,并通过地图上熟悉的蓝点显示该位置(iBeacon,Apple或Google映射) 提供给登机台的方向以及用户使用它们导航到办公桌的方向 在地图上签到后向用户显示的登机口 用户搜索靠近其门口的餐厅 地图提供了有关景点等景点的详细信息,例如餐厅,包括位置,照片,描述,电话号码,元数据(如菜单)等等 还有几件事 上面视频中未显示的我们SDK的其他一些重要功能包括: 固定地图标记,可让您永久性地突出兴趣点,例如地图上的休息室或登机柜台 推荐的地点和搜索,使用户仅需点击1或2次即可找到预设的兴趣点 强大的搜索功能使用户不仅可以在地图的任何级别上,还可以在其附近区域中按名称,类别或标签找到任何兴趣点 UI和地图自定义,可让您将公司品牌应用于地图本身以及用户界面 开箱即用的几种语言本地化版本 代码样例 我们的本机iOS和Android SDK非常易于使用,仅需几行代码,我们强大而功能丰富的地图可供您使用。 以下各节说明如何使用我们的SDK执行一些最常见的任务。 设定 在使用SDK之前,需要进行一些设置,之后所有任务仅需要几行代码,在某些情况下甚至只需1行! //使用LocusLabs提供的accountId初始化LocusLabs SDK LLLocusLabs.setup()。accountId =“ A11F4Y6SZRXH4X” //创建一个新的LLMapView,注册为其委托并将其添加为子视图 mapView = LLMapView(框架:view.bounds) mapView?.autoresizingMask = [.flexibleWidth,.flexibleHeight] mapView?.delegate =自我 view.addSubview(mapView!) //获取LLVenueDatabase的实例,注册为其委托并加载场所LAX ConventionalDatabase = LLVenueDatabase(mapView:mapView) destinationDatabase.delegate =自我 显示地图 仅需要一个调用“ loadVenueAndMap”即可异步加载地图。 我们的SDK不会自动使地图保持最新状态,还会缓存它们以供离线使用: //加载会场LAX异步 destinationDatabase.loadVenueAndMap(“ lax”){(_venue:LLVenue ?, […]

以下是移动应用使用最多的SDK

编辑:我们住在AppSight.io! 我们正在为移动应用程序开发人员开发免费的社区资源,该应用程序使用哪些SDK。 根据我们的应用索引工作,以下是一些顶级移动应用使用哪些SDK的一些见解。 我们认为这很有趣,并希望与大家分享。 如果我们在为所有主要应用启动免费服务时对更全面的见解感兴趣,请在此处注册我们的Beta ,因为我们可能会首先向早期Beta用户推广。 以下SDK列表并不详尽。 我们推出时会更加全面。 Instagram : Facebook SDK,AFNetworking,Appirater,螺栓框架,可可伐木工人,FXBlur,卤化物,SocketRocket Lyft : Kochava SDK,Stripe SDK,LeanPlum SDK,OpenCV,Tune SDK(移动应用程序跟踪),AlamoFire,BPXLUUIDHandler,Card.io SDK,Crashlytics,Eigen,Fabric,Google Maps SDK,Appboy SDK,Bolts Framework,ClosureKit,Haneke, JGProgressHUD,Mixpanel,Pusher,SnapKit,SocketRocket,SDWebImage,Zipzap 优步 : 调整SDK,支付宝SDK,百度Maps SDK,边界巡逻,BPXLUUIDHandler,Braintree SDK,Bully,Card.io SDK,Crashlytics,DeviceUtil,Eigen,Fabric,Facebook SDK,Formatter Kit,Google Maps SDK,KSCrash,LevelDB, Mantle框架,砌体,Tune SDK(移动应用程序跟踪),OpenCV,PayPal SDK,PocketSVG,可达性(Pod),SocketRocket,SSKeyChain,1Password扩展 Pinterest : Stripe SDK,Adjust SDK,AFNetworking,Bolts Framework,Branch Metrics SDK,Card.io SDK,Crashlytics,Eigen,Fabric,Facebook SDK,FLAnimatedImage,FMDB,Masonry,OpenCV,Pop Animation Engine,Facebook Shimmer,TTTAttributedLabel Slither.io:Adobe Air SDK,Bolts Framework,Facebook […]

实时跟踪“小时需求”如何? : 解决了

在“全知 ”时代,不知道可能是人类最讨厌的唯一因素。 一个例子就是MH370 ,这是失踪的马来西亚航空公司航班,计划于2014年3月8日从吉隆坡飞往北京。问题“它在哪里?”。 好吧, Teliver为您提供了该确切问题的解决方案。 实时位置共享对所有陷入困境并需要帮助的人们都是一个福音。 对此的需求至高无上,并且人们逐渐决定,更大,更精确的解决方案将更有帮助。 众所周知,实时跟踪已包含在出租车预订应用程序中(例如Uber),各种业务的负责人纷纷转向。 此外,此应用程序的实时路径和位置共享是向知情的客户基础设施迈出的更大的一步。 Teliver使在需要它的所有企业中轻松实施该技术变得容易。 公众面临的琐碎问题及其解决方案: 1) 饥饿的人 -送货上门的美食很快就成为任何一家餐厅发挥作用的必要条件。 苛刻的应用程序直接说明其流程; 一旦食物离开酒店,直到到达目的地,顾客就一团糟。 在实际交付食物之前,客户打了十二个电话。 解决方案 -在客户的应用程序上实时跟踪交付者。 2) 寻求公交车的人 —我们不知道公交车或公交车什么时候到达的等待时间? 在某些情况下,人们会在不知道他们等待的交通工具是否已经离开的情况下等待。 这种特殊情况更加令人难过。 解决方案 —实时跟踪运输情况。 3) 等待包裹的人 —等待订购的新东西令人不快。 交货日到来时,这更是痛苦。 我们会保持警惕,直到包裹紧紧握在手中。 每个在线购物者都经历了这个阶段,并希望知道包裹的确切位置。 解决方案 —电子商务应用程序上的集成地图,显示包装的实时状态 这样的情况非常丰富,但尚未提供解决方案。 Teliver提供了这一点—尽管不满足饥饿者的需求,但他的问题却得到了答案。 Teliver会做什么? 拥有已构建应用程序的企业可以利用Teliver为客户提供定义明确的信息服务。 众所周知,“ 更好的服务,更多的客户 ”,并且不可否认的是, Teliver可以作为一种工具,为您的应用程序带来更好的流量。 提供这些服务所用的技术不是新技术,但由于提供清晰的集成功能方面的复杂性而无法适应。 使用全球定位系统(GPS) ,需求映射中提供的准确性令人震惊。 T eliver为Android和iOS提供了一个非常易于适应的工具包,使集成尽可能地顺畅。 除此之外,定制选项是值得关注的选项。 与提供半满的服务的服务不同, Teliver通过为客户提供微详细的自定义选项来进一步发展。 专注于功能方面或视觉效果, Teliver迈出了一步,并提供了微观定制。 Teliver将适合哪些业务领域? 在过去的几十年中,互联网可靠商品和服务的增长获得了广泛的动力,特别是在过去的十年中,图表一直在飞速增长。 […]

亲爱的SDK开发人员

我们的工作之一是通过SDK集成第三项服务。 如果这是一个好选择,那么对我们来说很幸运,它可以极大地提高我们的生产率。 如果不好,请通过集成和错误跟踪来为噩梦做准备。 我已经看到了带有很多编译器警告的传统SDK,这些警告已经有一段时间没有更新了。 我已经看到,SDK引入了另外34个其他依赖项,完全没有变更日志和文档的SDK,由于错误的假设而破坏了其他SDK的SDK,… 请不要摇晃 。 向我们提供有关在何处调用您的API的说明,而不要进行不必要的麻烦。 您正在为开发人员使用它,他们知道如何编写代码。 大多数时候,你不知道该怎么做正确right 请不要使用配置文件 。 如果可能的话,请考虑通过纯代码进行配置,而不是通过应用包中更容易暴露的plist文件进行配置。 请不要对应用程序做任何假设 。 您对将要集成SDK的应用程序的假设并不总是正确的。 每个应用程序都有其自己的用例和视图层次结构。 请提供适当的版本 。 标记并发布SDK中的新更改。 如果有重大更改,则应该有迁移指南,并将其影响到较旧的应用程序。 另外,请在发行说明或变更日志文件中写入适当的变更日志。 请不要给我们留下转储头文件 。 请向所有功能添加文档。 请改进自述文件 。 为避免所有猜测,请通过详细说明改进自述文件。 请包括一个示例演示项目 。 在进行演示项目时,您有机会解决潜在的问题。 开发人员可以了解可能缺少的步骤。 请开源 。 您在出售服务,而不是代码。 通过开源,每个人都清楚代码,它们可能会帮助您解决错误和提出建议。 老实说,当我被要求将SDK与不良文档和封闭源代码集成时,我感到非常害怕。 就像玩猜谜游戏。 如果该服务对您而言并不重要,而您正在做它只是为了娱乐,那么您可以忽略这些请求。 但是,如果您对此很认真,则请考虑正确执行。 对不起,对不起。 我们在一起可以使世界变得更美好。 谢谢❤️ 如果您喜欢这篇文章,请考虑访问我的其他文章和应用

如何在Swift中创建私有CocoaPods

CocoaPods是Swift和Objective-C Cocoa项目的依赖项管理器。 CocoaPods可以帮助我们优雅地扩展项目。 可以使用CocoaPod开发出色的库,只需运行一个命令即可轻松将其集成到项目中。 在这里,我们将讨论如何创建我们自己的CocoaPod(恰好是一个私人吊舱)。 先决条件: Xcode 9.3和Swift 4.1 安装在机器上的CocoaPods 让我们逐步开始创建我们的私人吊舱。 步骤1:建立广告连播 要创建和验证Pod,我们将使用pod lib命令。 因此,让我们开发一个String的简单扩展(还有更多),这将使几个字符串函数变得很方便。 让我们将此吊舱命名为HandyExtensions 使用以下命令创建一个Pod,该Pod将下载模板并简化我们的工作。 pod lib创建HandyExtensions 运行以上命令将提示您回答一些问题,例如平台,编程语言,所需的演示应用程序等。 Pod模板将被下载。 导航到Example文件夹,然后打开HandyExtensions.xcworkspace并使用所有相关信息编辑podspec文件(在Podspec Metadata文件夹下)。 摘要,描述,源和依赖项(如果适用)是您要记住的几件事。 默认情况下,源将显示为 s.source = {:git =>’https://github.com/sagardesai16/HandyExtensions.git’,:tag => s.version.to_s} 我们将必须将源更新为我们的私人仓库网址。 我更喜欢使用BitBucket。 s.source = {:git =>’https://abc@bitbucket.org/abc/handyextensions.git’,:tag => s.version.to_s} 重要提示: 确保根据库的要求更新deploy_target。 如果您打算在Pod库中使用资产(png),则必须取消注释resource_bundles s.resource_bundles = {‘HandyExtensions’=> [‘HandyExtensions / Assets / *。png’]} 步骤2:验证podspec 由于我们已更新podspec文件中的所有相关信息。 让我们验证podspec文件并检查一切是否正常。 打开终端并转到您的podspec文件所在的目录,然后执行以下命令: 豆荚皮棉 […]

用简单的英语-什么是SDK? –拉克兰·柯克伍德–中

用简单的英语-什么是SDK? 2017年1月30日-没有评论! 用简单的英语-什么是SDK? SDK代表软件开发套件,它是一个编程包,允许开发人员使用针对特定平台提供的工具来创建应用。 SDK通常会包含以下一些或全部主要功能: 集成开发环境(IDE): IDE是代码编辑器,可为开发人员提供帮助。 软件库/框架:这些提供了功能和特性,因此开发人员可以更轻松地利用平台的功能。 支持工具:这些工具用于评估性能和查找错误。 其他工具用于将成品上传到相关的应用商店。 文档:有关如何使用上述所有内容的说明和指南。 举例来说,假设您想开始构建iPhone应用程序,则可以使用iOS SDK,用Apple的话来说,“…提供开发本机iOS应用程序所需的资源。SDK包括UI,Location,Media框架,使开发人员更容易利用设备上的相应功能。 它还包括帮助构建和测试应用程序的工具,以及提供框架和工具的文档。 “普通英语”是一个系列,用200个单词或更少的单词以非技术性的方式描述技术性的“行话”。 这些描述旨在提供“恰到好处”的详细信息,以使非技术利益相关者能够理解并促进高层技术讨论。

IBM Watson SDK for Swift的正式版本

经过长时间的测试,IBM Watson的Swift SDK现在正式发布了! 该SDK提供了一种简单直观的方法,可将Watson的AI平台集成到您的iOS应用或Linux上的Swift服务器。 尽管您可以使用标准的REST请求访问Watson API,但是此SDK提取了所有基础HTTP基础结构(包括身份验证和JSON编码/解码),因此您可以以更“快捷”的方式直接与Watson服务进行通信。 这是Swift SDK现在支持的服务列表。 设置和安装 首先,在IBM Cloud上配置要使用的服务。 对于此示例,让我们使用Tone Analyzer来了解用户所说的情感和社交环境。 创建服务实例后,将为您创建一组凭据。 对于iOS应用,您可以直接与Cocoapods一起安装Tone Analyzer,或者与Carthage一起安装整个SDK。 对于Linux,请使用Swift Package Manager。 配置中 接下来,将服务导入到源文件的顶部。 import语句因您使用的依赖项管理工具而异。 Cocoapods: import ToneAnalyzer 迦太基: import IBMWatsonToneAnalyzerV3 Swift软件包管理器: import ToneAnalyzerV3 现在,创建要使用的服务的实例: 使用从您创建的服务实例获得的API密钥和URL替换myApiKey和toneAnalyzer.serviceURL的值(请参阅前面的屏幕快照以获取参考)。 version参数指定后端API的次版本,有关详细信息,请参见API参考。 使用API 有趣的来了! 您可以使用在上一步中创建的Watson服务的实例来调用任何受支持的API方法。 让我们使用我们的ToneAnalyzer服务,根据客户在应用程序中使用的文字来了解他们的感受。 本示例使用简单的print语句,但是您可以使用该信息,但认为适合您的业务。 所有API都有完整的文档记录,因此您可以轻松地发现可用的信息类型。

iOS中的FontAwesome按钮

FontAwesome是用于网页设计的非常有用的工具,我们广泛使用它来避免需要定期设计图标的情况。 因此,它是网络上linkalist的关键部分,我们为FontAwesome图标样式提供了广泛的支持。 因此,既然我们正在使用iOS SDK,我们对图形资产的需求也非常相似,因为我们需要将图像放入系统中,以三种不同的尺寸缩放然后将其添加到应用程序中,因此构建起来非常繁琐。 。 然后,如果需要更改按钮的大小,我们将再次进行整个操作。 它的直接驱动程序是图像选择控件,因此我们可以添加相机和库按钮。 因此,今天早上,我决定浪费足够的时间来解决这个问题,并决定了解设计FontAwesome按钮的方法。 与iOS中的大多数事情一样,事实证明这比必要的要复杂一些。 首先,我必须从http://www.fontawesome.com下载该软件包。 我已经使用了5.6.3版本,但是任何版本都应该同样适用。 安装与注册 我将所有三个ttf文件放在下载包的webfonts目录中,并将它们安装到我的系统上。 然后,我将三个ttf文件添加到我的应用程序资源中。 下一步是注册字体。 应该有一种使用info.plist文件执行此操作的方法,但这有点不可靠,我发现在代码中执行此操作更为简单。 扩展 UIFont { 类func loadAllFonts(){ 让 bundleID =“ io.linkalist.linkalistSDK” registerFont(“ fa-regular-400.ttf”,bundleID:bundleID) registerFont(“ fa-solid-900.ttf”,bundleID:bundleID) registerFont(“ fa-brands-400.ttf”,bundleID:bundleID) } 静态函数 registerFont(_ fileName:String,bundleID:String){ 如果让 frameworkBundle = Bundle(identifier:bundleID){ 让 pathForResourceString = frameworkBundle.path(forResource:fileName,ofType: nil ) 让 fontData = NSData(contentsOfFile:pathForResourceString!) 让 dataProvider = CGDataProvider(data:fontData!) 让 fontRef […]

在Swift中使用Clean Architecture的外部依赖关系

与你们中的许多人一样,我们一直在为GDPR做最后的冲刺。 而且我们意识到我们的应用程序与外部SDK有很多依赖关系 。 市场营销需要新的跟踪, 导入SDK-A 。 我们需要深度链接, 导入SDK-B ,我们还需要跟踪广告, 导入SDK-C ,有关应用程序通知的信息… SDK-D … 🐞问题 所有这些花哨的SDK给我们带来了很多问题 您见过这样的AppDelegate吗? func appDidFinishLaunching … { Firebase.setup(“ 32FD-324AFF-12FD4D”) Firebase.logLevel = .verbose AnotherSDK.start() AnotherSDK.startSomething() AnotherSDK.disableSomething() AndAnotherSDK.doAnotherConfiguration() 返回真 } 如果我们有一个新的Swift版本,我们需要等到所有这些SDK更新之后。 使用Cocoapods时,干净的编译可能会花费很长的时间,因为我们需要重新编译所有这些漂亮的依赖项。 我们决定使用SDK-A,在没有真正注意到的情况下,我们50%的类都在使用SDK-A的API。 如果SDK-A的所有者决定关闭此漂亮的工具怎么办? 它还将关闭我们的应用程序! 我们都是这些SDK的奴隶! 更有趣的是:使用GDPR,用户必须控制所有这些SDK。 等一下,不要和市场营销人员打架! 🏆清洁建筑 是时候为这些混乱带来一些秩序了。 外部依赖项需要成为我们应用程序的插件! 应用程序使用Crashlytics,Appsee,控制台报告崩溃,将其存储在文件中或将其打印在纸上并不重要 。 这些只是细节。 💉依赖注入 因此,让我们开始构建一个我们可以注入的协议(因此可以在单元测试中对其进行模拟。) ⚙️模块 请务必注意, 唯一的公共API必须是ExtenalDependenciesInjection。 因此,我们可以将整个实现带到另一个模块中。 之后,我们可以将该模块导入到我们的应用中。 甚至在许多应用程序中重复使用此模块。 因此,我们不必经常重新编译所有这些外部依赖项。 您的编译时间将更快,CI服务器也会更快。 […]

使用Google iOS SDK将文件上传到Google云端硬盘

关于如何将文件上传到现有Google云端硬盘文件夹的快速演练 Google云端硬盘的Google Developer文档中没有专门的iOS集成部分。 我花了很短的时间来弄清楚如何将文件上传到现有或新文件夹 ,并且这篇文章总结了如何执行此基本操作。 脚步 先决条件:设置本机Google登录。 请参阅此帖子以获取分步说明。 导入Google Drive REST API客户端SDK 在您的应用中设置Google Drive API服务 检索现有文件夹或创建文件夹 上载档案 导入Google Drive REST API客户端SDK Cocoapods是SDK的推荐交付方式。 SDK源文件位于Github上。 将以下内容添加到您的Podfile中: use_frameworks! #当时固定到最新版本 pod’GoogleSignIn’,’〜> 4.4.0′ pod’GoogleAPIClientForREST / Drive’,’〜> 1.3.7′ 在您的应用中设置Google Drive API服务 为了简洁起见,所有方法都在单个视图控制器中实现。 在应用中成功设置Google登录后 ,还需要在GIDSignIn单例对象上指定访问范围,该对象用于管理OAuth身份验证和授权流程: 导入GoogleSignIn 导入GoogleAPIClientForREST 类ViewController:UIViewController { 覆盖func viewDidLoad(){ super.viewDidLoad() GIDSignIn.sharedInstance()?. delegate =自我 GIDSignIn.sharedInstance()?. uiDelegate =自我 GIDSignIn.sharedInstance()?. scopes = [kGTLRAuthScopeDrive] […]