分配参数和汇编代码

我想通过为每个亭子元素分配参数和汇编代码来探索Revit模型。 因为亭子是用Rhino和蚱hopper制成的,所以我需要将所有几何图形带到Revit上,以便在上面指定参数。 将犀牛的几何图形逐层链接到Revit。 接下来是通过DirectShape.ByGeometry类别元素,该元素使rhino元素成为revit元素,例如通用模型。 接下来是通过Element.SetParameterByName并使用String.Insert将汇编代码名称插入到值中,从而为元素分配参数。 结果,我能够成功分配参数和汇编代码。 接下来是测试,看看是否可以共享这些参数并将其存储在基于云的环境中,例如Autodesk A360 结果,它可以直接在云中读取。

开瓶器1.7

今天,我将发布Opener 1.7,这是适用于iOS的便捷链接打开实用程序的最新,最大更新。 此更新包括一个经常需要的功能和一些可靠的改进。 快速浏览器切换 自从Opener 1.1中引入浏览器支持以来,我已经收到一再的反馈意见,即无法发现浏览器切换,对于使用多个浏览器的人来说,切换太难了。 使用Opener 1.7时,我将其更改为“快速浏览器切换”。现在,浏览器行上有一个插入符号按钮,点击该按钮时,可以内联扩展可用浏览器的列表。 轻按浏览器将关闭菜单并立即启动它。 这样一来,将浏览器的点击次数从3种切换到2种,因此您不必输入其他整个菜单即可进行切换。 我还更改了此菜单的图标,使其更加清晰。 如果您是精通键盘的iPad用户,现在还可以仅使用键盘来切换浏览器。 按⇧⌘,将打开浏览器菜单,按⌘0–9将启动您选择的浏览器。 您可以随时按住⌘键以查看支持的键盘快捷键的完整列表。 细化 此更新还包括许多不错的改进。 现在,动作扩展程序最多可以加载250毫秒,并且按应用安装状态排序的动作列表的排序速度也更快。 我修复了运行10.3之前的iOS版本的用户介绍流程中的崩溃问题。 我修复了一个长期存在的错误,该错误导致在同时运行应用程序和操作扩展时,Opener支持的应用程序列表有时更新速度不如预期。 通过所有这些增强功能,Opener 1.7在这个假期期间成为了一个不错的库存填充器! 您可以在App Store上下载Opener。

Cordova에서Firebase이용하여推送通知base

在iOS上推送通知,在Cordova上下载Firebase插件,再在推送上下载。 APN密钥생성과Firebase활용방법들은科尔多瓦되는이내용이내용이내용이읽어이읽어보읽어보읽어다。 Apple推送通知服务SSL密钥密钥방식으이다。 방식의장장간간간하하하하하않아도다。다。 Apple开发人员计划의证书,标识符和配置文件메뉴로들어간다。 。이지에서사이드바이나올이다。 密钥를과정은다。 姓名,服务名称和服务名称。 继续하면确认화면으로넘어간다。 。기서된다。 화면에서화면에서p8 8다。 여기가다시가바로바로바로바。 고리고ID또한로고다。 密码,p8推送,p8密钥,密钥ID,团队ID供应。 团队ID는苹果开发人员计划成员资格에서이가능하다。 이제Key끝났다。 Firebase차례이다。 Firebase的서버와a쓰쓰서버와서버와a a a BaaS(后端即服务)。 base base Firebase능을다이다。 보안DB DB API API API Mo Mo Mo Mo通知외에도AdMob을광고로있다있다。 Fire로디어이디어가빠르게때때Fire를를를Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire Fire。Fire 서비스볼륨이크지무료로능을로능을기장점이다。 지이하는推서버도Firebase를단시간에스트까스트까스트까!! 在Firebase上进行下载。 […]

如何在Apple App Store上发布iPhone应用程序

您已经使用React Native编写了该应用程序,并在本地对其进行了测试。 现在,您要将其发布到App Store。 这个过程可能要花费几个小时,今天让我为您简化。 请按照此处的指南进行操作,这样可以为您节省一些时间。 这里描述的过程也适用于本机应用程序。 为了能够将该应用发布到App Store,它必须购买Apple Developer Membership订阅,每年约99美元。 完成后,请返回Xcode,然后可以选择“ Team”进行签名: 您将需要为您的应用创建图标。 您可以在unsplash.com上找到一些图像,或者找到与您的应用有关的一些相关图像。 然后,转到https://makeappicon.com/上传您的图片,它将图标发送到您的电子邮件中。 转到Xcode,选择Images.xcassets,删除AppIcon。 然后将AppIcon.appiconset拖到Images.xcassets。 使用react-native run-ios再次运行该应用程序,然后您会看到图标显示在主屏幕上。 接下来,转到Xcode中的项目设置,更改显示名称和捆绑包标识符。 您在此处输入的显示名称将显示在主屏幕上。 现在,转到Apple Developer Portal并为捆绑包标识符注册一个应用程序ID。 最后,我们需要转到iTunes Connect并创建一个应用程序。 您在此处输入的名称将在iTunes上显示。 您将需要填写一些信息,包括“应用程序信息”中的类别,在“可用性定价”中选择价格,以及在1.0“准备提交”中,上传截屏,输入描述,联系信息,评分等。 一些东西。 对于屏幕截图,我们至少需要5.5英寸iPhone屏幕。 为此,我们可以使用iPhone 6 Plus模拟器和Command-S进行屏幕截图。 对于图标,我们使用之前下载的图标文件中的iTunesArtwork@2x.png。 现在,您已经在iTunes Connect中创建了一个应用程序。 接下来是返回Xcode上传应用程序。 首先创建档案。 然后上传。 然后等待iTunes Connect中的处理完成。 大约需要10分钟。 处理完成后,返回iTunes Connect并选择内部版本。 然后,单击提交以供审阅。 现在,只需等待,系统会告诉您您的应用程序是被拒绝还是被批准。 如果幸运的话,您的应用已获批准。

WWDC 2017 —开发乐趣

另一个WWDC越来越强大,我希望大家对Apple的所有新公告感到高兴。 如果您还没有,那么可以查看一下经过很好概括的内容— WWDC 2017初始印象 因此,我不会重复该博客上已经介绍的内容,但是这里的想法是分享我们对所有新功能的想法以及它们将如何影响我们作为iOS开发人员的工作。 核心ML 通过去年的Siri更新,很明显苹果公司知道将机器学习计算推向终端设备的潜力。 随着Core ML的推出,应用程序可以实现的可能性是无限的。 到目前为止,如果添加计算的唯一方法是编写低级代码并在Metal中运行(您太极端了,请尝试一下)。 但是现在,添加任何ML模型并直接在应用程序中使用非常容易。 这是苹果公司投资创建全新的Framework Metal(3年前)的真正帮助所在。 Metal的第一个用例只是用于图形渲染以替换另一个现有框架(如OpenGL),但现在它在许多方面都提供了帮助,包括ML和VR开发/渲染。 此外,硬件和软件设计所有权也有帮助。 ARKit 最终,苹果加入了聚会。 这是改变游戏规则的游戏,与其他平台不同,您可以通过Apis获得丰富,便捷的视觉跟踪,场景检测和渲染。 就是这样,您不必担心其他事情。 Unity&UnrealEngine将支持所有ARKit API。 这将对他们有所帮助,因为他们是游戏开发和3d渲染的主要参与者。 通过iOS 11在设备上采用HEVC / H.265 我认为这也是巨大的,因为它将对性能产生影响(由于存储和传输的数据较少,因此也会对环境产生影响)。 尽管HEVC的生产水平在几年前就已开始实施,但我们可以认为Apple至少在移动设备方面是最早的采用者。 XCTest的新功能 我们对此感到非常兴奋,我认为这将有助于更快地进行回归调试。 到现在为止,您还必须设置其他一些第三方,如果我们希望在CI管道中使用这种功能。 有关更多信息,请参阅此文档。 VR开发 尽管在VR应用程序上工作非常令人兴奋,但它并不像使用ARKit那样简单。 但是在建立框架方面做得很好。 希望我将在单独的博客文章中提供有关此&ARKit的更详细的更新。 HTC VIVE的默认支持-低延迟直接显示。 默认支持Unity&STEAM VR。 Xcode 9 我在社区中听到的所有内容都是对新Xcode 9的速度和新功能的称赞。 其中很少有: Xcode中的默认XCode构建服务器:现在,我们无需安装Sever应用程序即可设置Xcode bot。 如果他们将Xcode服务器用于CI或测试,这将非常有用。 我们还从头开始用Swift编写了新的Build系统 。 这很重要,期待建设愉快。 无线开发:这将使开发人员的生活更加轻松。 现在,我们可以在多个模拟器上进行测试。 强大的新编辑器:许多新功能。 轻松快捷的重构 […]

X因素:支持iPhoneX

为什么? 什么时候? 怎么样? 苹果于2017年11月3日推出了新的移动设备:iPhoneX。 它不同于以前的所有iPhone设备。 这意味着大多数App Store的应用程序在iPhoneX上看起来都很糟糕:部分视觉元素重叠,有些可能会变形。 这很杂乱,完全不是苹果的细致外观。 作为应用程序所有者,我可以决定我将忽略iPhoneX用户吗? 不在苹果王国。 从2018年4月开始,App Store仅接受支持iPhoneX的应用程序。 从2018年7月开始,只有支持iPhoneX的应用程序才能升级其现有应用程序。 这意味着,如果一个屏幕的缺口重叠,请扭曲…该应用程序将无法通过Apple的审查,因此无法进入App Store。 他们能做到吗? 当然是苹果! 他们将一如既往地为用户提供最佳体验。 开发人员应全力以赴,以使魔术得以实现。 本文专为希望了解这些操作的应用程序所有者以及将实际从事这项工作并需要了解如何解决这一问题的iOS开发人员而设计。 我仅指的是UI更改。 iPhoneX具有不同的硬件,这些硬件也可能影响应用程序的行为。 所有屏幕图像均来自我调整为iPhoneX的应用程序。 我要感谢“ CoffeeMe Ltd”和“ Lifebuoy Ltd”让我使用它们漂亮的屏幕作为本文。 在UI方面,主要区别在于屏幕形状。 所有其他Apple设备均为矩形。 iPhoneX的上部条纹在其顶部有一个槽口,左侧显示时间,右侧显示电池状态和Wifi。 在屏幕视图的底部,有一个虚拟主页按钮。 其他区别:iPhoneX的长宽比(高/宽)更高。 实际的: 让我们弄脏双手: 在Xcode上打开您的项目。 打开Main.storyboard。 在Interface Builder文档下,选择“使用安全区域布局指南”。 对LaunchScreen.Storyboard执行相同的操作(在新项目中,这已经是默认设置)。 (这可以一次对所有ViewController进行,也可以一次完成。) 如果您在屏幕的顶部或底部有自己开发的UI元素,请修复它们。 对于每个屏幕: 修复约束。 检查背景是否一直伸展(与superView对齐)并且内容安全地位于SafeArea(与SafeArea对齐)内。 还有什么? 如前所述,屏幕尺寸是不同的。 这意味着依赖于屏幕宽度/高度的UI对象可能需要进行调整。 您可以使用我的“有用的东西”来区分这些选项。 有用的东西 如何检测它是否是iPhoneX? 有几种方法。 这是一个(适用于iPhoneX,iPhone XR,iPhone XS,iPhone […]

问题5 –须藤忍者–中

卡兰 1.实用距离表达式 在做验证的时候常常需要距离表达式的帮忙,但有时候case都做不完整,这个网站提供了很多范例! 2.nodejs 6.0版本 Nodejs 6.0正式发布了,官方宣布已经可以支持大部分的es6语法,但感觉…应该会有很多npm套件都会有冲突吧!先等一阵子稳定之后再升级吧!话说最近的节点怎么一直不断升级。 3.js文件系统 虽然js文件系统已经不是新玩意,但毕竟有任何跟随跟其他套件的帮助,一直以来也没有深入这一块。偶然之间想起,查了一下google,这篇文章写得还挺清楚的。呼,是该了解更进阶的的js了! 亨利 1. Docker上的Jenkins 2.0 很多团队都不敢贸然在开发流程中引入Docker,一个很大的原因是很多服务都还没有针对Docker做过最佳化。2015年Docker大流行时,网路上也出现了不少质疑Docker将服务虚拟化化之后随之而来的性能指标。但持该论点的文章,大多都是采用短时间,高并发的基准测试(套一句行话来说就是“烧机”式的测试)去测试Docker的性能,而不是真的让MySQL在生产环境上运行然后慢慢调整性能。但说实在地,声称测试的架构,谁又有这么大颗的心脏敢放它在生产环境上运行呢? 扯太远了。此周主要是发现Jenkins 2.0在Docker上执行的效能比1.x来说有非常显著的改善。由于目前Sudo是使用CircleCI做CI,还没有做CD,但在正式引入CD之前我预想到了一个问题。 CircleCI的IP不固定,要怎么样在兼顾AWS Security Group政策的替代下执行CD? 我目前想到的最合理的替代方案是直接在AWS内建立自己的CI / CD环境(至于如何架设还需要再研究,因为最终目的是一台EC2都不要管,全部改用ECS),而Jenkins正是但自行测试一次Jenkins 1.x之后,不是安装插件时让系统的load飙高到连壳都卡住的地步,不然就是正式建置专案时记忆体被塞爆(在已经挂上swap的附属下)。曾经试着开spot instance去执行,但问题没有解决。 连官方都在下载的选项中正式提供Docker的安装方式,Jenkins 2.0这次的表现让我又对它抱持一线希望。 2. React Native串接Cocoapods并通过fastlane部署时的陷阱 在茫茫Google中寻觅觅是否有人写好Flurry或Google Analytics的包装器一阵子之后,我放弃了。因为不是写完之后就摆在那里根本没去更新iOS库,不然就是一抓下来挂上上喷奇怪的错误(Google Analytics的wrapper在虚拟器中测试会喷出奇怪的错误)。绝望之下,我只好卷起袖子自己取代React Native与iOS库了。 官方文件写得很详细,而且我从Exporting Swift(我很惭愧地表示我不会Objective-C)开始做,步骤少得有点过分。颤抖地点击编译并执行,还真的可以跑(数据有确实地传回Google Analytics,真心不骗)。 我的代码有效,但我不知道为什么。 扯远了。这一次真正要分享的是如果React Native有挂Cocoapods,Fastfile要一并更新,否则会发生找不到库的错误。例如以下步骤行: 健身房(方案:“ app”,项目:“ ios / app.xcodeproj”) 一开始开发React Native与设定fastlane时,它不会预设你未来会挂Cocoapods上去,因为不是每个人都会用到Cocoapods,或可能使用了Cocoapods以外的套件管理工具。但如果第一次执行完pod安装,Cocoapods实际上会提醒你之后记得都要使用* .xcworkspace考虑到开发时的专案档: [!]从现在开始使用`app.xcworkspace`。 我记得这件事,之后也都是使用* .xcworkspace开发,但每次通过fastlane部署的时候都会在健身房那一步出错,跟我继续说ld找不到库连接。 明明开发时在虚拟机上面跑都没有问题,为什么部署的时候就会出错? 这两个唯一的差异不就是一个透过Xcode执行,一个透过fastlane执行吗? 于是我打开Fastfile,将那行该死的Gym改成以下形式: 健身房(方案:“ app”,工作区:“ […]

使用Mapbox和Unity3d的地图上的3D路径

简介 : 这是关于为健身活动(如跑步,步行,慢跑或徒步旅行)采取的路线的3D视图。 我们正在使用Unity Mapbox SDK来生成由Mapbox提供的3d地图。 为了使它更加用户友好和现实的交互,我们使用了iOS ARKit,该工具可用于将地图区域放置在平面上并使轨迹更清晰。 Mapbox: Mapbox是允许用户根据业务需求自定义地图的第三方。 它还提供了3d地图和其他各种功能,可用于iOS,Android,Unity3d和许多其他平台。 Unity3d: 众所周知,unity3d是由Unity Technologies开发的跨平台游戏引擎,主要用于开发3d和2d视频游戏以及用于计算机,控制台和移动设备的模拟。 ARKit: 在iOS 11中引入ARKit之后,已经实现了许多具有各种用例的应用程序,以使应用程序更加逼真。 在本文中,我们使用Unity ARKit sdk和Mapbox来检测平面,在该平面上可以为选定区域放置3d地图。 用户可以与放置在诸如桌子/地板等房间的检测到的平面上的3d地图进行交互。 初始设置以将Unity与Mapbox和ARKit集成 创建一个新的统一项目 保存场景Cmd + S以具有默认场景。 转到https://www.mapbox.com/install/unity/并下载Unity3d的Mapbox程序包 将包导入到创建的新unity项目中。 使用Mapbox网站上的Mapbox api密钥配置Unity3d。 完成项目设置后,Mapbox sdk将提供默认示例。 我们使用了具有2d地图以及要绘制导航方向的Drive Scene。 基本功能: 平面检测 :此功能用于在实时环境中检测水平面。 我们使用Apple提供的ARKit进行飞机检测。 转到Unity3d IDE中的资产商店并搜索Unity ARKit插件并安装软件包 2. 从MapBox生成3d地图: Mapbox为Unity3d提供sdk,用于自定义地图以及渲染3d地图和路线。 我们使用mapbox-unity-sdk_v1.4.2.unitypackage渲染3D地图 3. 在地图上绘制路线:我们正在通过本机iOS代码在用户活动(如跑步,步行或徒步旅行)期间跟踪和保存坐标,然后将用于特定活动的那些坐标集传递给unity3d以在3d地图上进行绘制。 从坐标中可以获得纬度和对数数据,但是对于海拔高度,我们使用地图框提供的实用程序使用地图缩放级别和其他属性将坐标转换为现实世界的位置数据,然后获取海拔高度以在地图上绘制路径。 用作构建块的组件: UnityTile :这是C#类,它是地图的基本构建块。 整个地图分为UnityTile块。 每个UnityTile都包含组成该UnityTile的地图数据的详细信息。 UnityTile具有tileId,它充当获取任何感兴趣的图块的主键。 RangeTileProvider:这是c#类,我们可以在其中设置要在地图中心坐标周围加载的图块数量。 […]

使用Cocoapods创建和分发私人图书馆

大家好, 在这篇文章中,我将向您展示如何使用Cocoapods开发和分发内部私有代码库。 顺便说一下,Cocoapods是管理项目中第三方依赖项的绝佳工具。 它不仅提供了一种轻松集成这些依赖项的方法,而且还允许您创建自己的依赖项并进行管理。 最重要的是,您可以简化组织内部的代码共享。 这被称为私人吊舱,并在可可足类网站上进行了详细描述。 在本博客中,我将向您展示一种创建私有pod的更简单方法,对于初学者来说也更容易理解。 创建私有容器时,您应牢记的最重要的一点是,它需要创建两个存储库。 一个存储库用于存储您要共享的代码或类(我们称为“ Pod”),另一个存储库是“ Podspec”存储库,其中包含有关该Pod的所有信息。 需要为您创建的所有Pod创建一次Podspec存储库,但Pod存储库是您要重用并与团队共享的每个代码分支的单独存储库。 话虽如此,我们需要执行的第一步是创建这些存储库。 让我们跳到它。 第1步:在Github上创建Podspec存储库 首先,您需要创建私有的“ Podspec”存储库。 为此,您需要首先在Github中创建一个存储库。 为此: 前往Github 创建新的仓库 选择专用选项并命名您的规范存储库。 在这种情况下,我们在Github中创建了一个名为folio3-specs的存储库。) 现在运行以下命令 回声“#folio3-specs” >> README.md git初始化 git添加README.md git commit -m“首次提交” git remote add origin https://github.com/shahabejaz/folio3-specs.git git push -u原始主机 上面创建的存储库除了Readme.md文件外,不保存任何其他内容 。 我们稍后将在创建第一个吊舱时解决此问题。 步骤2:将您的私有存储库添加到CocoaPods安装中 在Github中创建规范存储库后,只需在终端中运行以下命令即可将私有存储库添加到cocoapods安装中。 吊舱回购添加[REPO_NAME] [SOURCE_URL] 在上面的代码中, REPO_NAME是您将用来引用“ PodSpec”存储库的名称,SOURCE_URL是您刚刚创建的存储库的Github URL。 在这种情况下,我们的存储库名称是folio3-specs,源URL是该存储库的Github URL。 如果一切正常,那么您应该可以通过运行以下命令来链接您的规范存储库。 cd〜/ […]

来自DO iOS Conference ’18的4项经验教训

2018年11月2日,该是DO iOS第二部分的时候了:由CocoaHeadsNL在阿姆斯特丹*主办的会议。 大约有12场讲座(均与iOS开发和Swift相关)以及免费的咖啡和食物,对于渴望继续学习和改进游戏的开发人员来说,这里是个好地方。 我有机会参加了这次活动,并将在这里与您分享一些最令人兴奋的亮点。 让我们潜入吧! *如果您错过了本系列活动的第1部分,请点击此处。 引起我注意的第一个话题是荷兰银行(ABN AMRO)。 舞台上有五位不同的演讲者,每位演讲者都针对不同的主题,分享了宝贵的知识并解释了他们的工作方式。 有两点引起了我的兴趣: 1-源代码管理分支模型。 该团队使用中继而不是标准git-flow进行开发。 他们努力建立一个始终稳定且随时可释放的分支。 他们通常不执行拉取请求(或仅对短暂的功能分支执行请求),而是选择结对编程来解决技术上复杂的问题,并进行提交后审查。 好处: 这种方法消除了解决合并冲突的烦恼 ,它审查了巨大的拉取请求,这些请求通常最终会说“看起来不错,正在合并!” 它迫使您在测试新引入的代码的地方进行小的提交 。 它鼓励您重构代码并保持代码库整洁 (在功能分支中进行重构使审核变得困难,并且可能会导致可怕的合并冲突)。 2-牢不可破的交付管道。 为了使此方法顺利运行,您需要付出巨大的努力来测试代码并建立可靠的交付管道。 以下是交付新产品版本之前需要执行的每个步骤的概述: 就像这张幻灯片所示,团队在测试,代码质量和持续集成/交付上花费了时间。 令我惊讶的是,使用此管道,由于提交前将其提交到远程之前有许多安全点,因此根本不可能中断中继。 团队使用的一些外部工具: SauceLabs在大型仓库中存储的真实设备上运行UI测试。 SonarQube在每次提交后分析代码质量,告诉您代码重复的数量和代码覆盖率。 他们展示的示例覆盖了88%的代码,仅覆盖了3%的代码重复。 挺棒的! 连结以在开发人员之间共享档案。 对我而言,这次演讲表明了为什么以及为什么要不断进行集成/交付是绝对值得的。 换句话说, 在构建高质量产品时 , 不选择不测试代码是不可行的。 我们也可能会在不远的将来尝试使用树干进行开发,它为像我们这样的小型团队带来了很多好处。 另外,我喜欢结对编程的思想,用两个人而不是一个人来解决复杂的问题,从而产生了更加一致和清晰的代码库。 而且上面提到的外部工具值得一看。 另一个有趣的话题是ANWB的David Broza。 David讨论了ANWB的编程方式,如何使用不同的应用程序架构维护干净的代码库以及如何测试代码。 与ABN AMRO一样,ANWB投入了大量精力来测试其代码并使用众所周知的体系结构。 David展示了他们如何注入依赖项以使代码可测试。 ANWB使用自定义汇编程序,这与我们在Mobile Company使用的Swift依赖注入框架Swinject非常相似。 对于单元测试,他们创建了自己的Swift模拟框架-类似于我们使用的Cuckoo框架。 显然,必须编写经过良好测试和架构良好的代码,通过教我们的开发人员为什么以及如何编写可测试的代码,再次确认我们在生产维护良好的代码库中处于正确的轨道。 亚历山大大帝 Griekspoor是一位经验丰富的应用程序开发人员,长期以来一直在开发成功的产品,他分享了有关如何创建Agenda应用程序的故事。 我喜欢听到有灵感的开发人员的故事,但我并不感到失望。 议程—关于Notes的优雅新见解。 议程是一个以日期为中心的笔记应用程序,可用于计划和记录项目。 […]