Tag: macos sierra

比较NSCollectionView和UICollectionView#2

在本文中,我将讨论分别为macOS和iOS准备内容容器的区别。 对于那些来自iOS界的人来说,UICollectionView自iOS 6起就是一个很长的组件。它广泛用于显示具有不同布局的内容,例如网格,基于行或任何自定义布局。 数据源协议 DataSource协议用于提供集合视图所需的数据和视图。 在iOS中,有两种必需的方法来构建最小的UICollectionView。 collectionView(UICollectionView,numberOfItemsInSection:Int) collectionView(UICollectionView,cellForItemAt:IndexPath) 第一个与macOS中的对应项相似,但第二个有所不同。 collectionView(NSCollectionView,numberOfItemsInSection:Int) collectionView(NSCollectionView,itemForRepresentedObjectAt:IndexPath) 很明显,第一个API用于指示该部分中的单元格或项目的数量(仅默认一个会话)。 第二个API是实际收集数据信息并配置视图组件的API。 从方法签名中,您可能会注意到差异。 iOS非常直接地创建项目,但是macOS却创建了这种奇怪的东西,称为“ Represented Object”。 这是由于传统支持。 自MacOS 10.5起,NSCollectionView实际上就存在了,而iOS版本是从头开始构建的。 创建现代NSCollectionView API的过程中有很多知识。 装载笔尖 为了简化和可视化开发过程,我们通常使用Interface Builder创建容器内容,该内容将包含在Nib文件中(另存为* .xib文件)。 在iOS中,我们还设置了一个名为Reuse Identifier的“桥梁”。 集合视图具有管理多个单元的内存使用情况的机制。 数据源方法将使用Reuse Identifier查找存储在池中的单元格。 在简单的情况下,所有单元都具有相同的标识符。 每次都会拉出一个单元,并根据后备数据存储内容配置视图组件。 它可以为单元格显示设置不同的文本字段或图像。 该Reuse Identifier将被注册到选定的Nib文件中,并在其中加载默认视图组件。 但是,在macOS中,工作流程略有不同。 它使用makeItem(withIdentifier identifier: String, for indexPath: IndexPath)方法创建项目对象。 一种简单但不可思议的连接Nib文件的方法是,将标识符设置为与Nib文件相同的名称。 例如, MyItem的标识符将查找名为MyItem.xib的笔尖文件并检索其内容。 要进行快速演示,您可以在此处观看YouTube视频。

在Xcode 8.1中使用XVim的2个快速步骤

以及其他插件… Xcode 8.1在MacBook Pro和Touch Bar启动的“ Hello Again”事件之后发布。 我的同事问他是否可以使用XVim,并且显然如果没有Vim模式就无法生存。 同时,我非常渴望在演示项目中试用Touch Bar功能。 因此,我决心对其进行测试。 1)从存档而不是Mac App Store下载 最初,我通过Mac App Store以一般方式更新Xcode。 然后,我使用了工具MakeXcodeGr8Again,但该工具无法正常工作。 当我将Xcode拖到工具时,该过程中断了。 在对此问题进行了一些来回讨论之后,我尝试从下载存档中下载Xcode 8.1。 这次可以了。 该图像说明了两个Xcode。 尽管它们具有相同的内部版本号,但是它们具有不同的文件大小并创建日期。 2)将兼容性UUID添加到插件 启动重新签名的Xcode之后,XVim仍然无法正常工作。 遗漏了一些东西。 每个Xcode版本都有其自己的UUID。 为了使插件能够识别兼容性,我们应该确保UUID在Info.plist中可用。 可以在终端中运行此命令。 find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID` 为了进一步了解,这基本上是获取最新Xcode的UUID,并将其附加到每个插件的Info.plist中。 这将获取位于指定路径中的最新Xcode的UUID。 `defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID` […]

Xcode 7.3.1:新项目模板的屏幕文本是重叠的

在为新项目select模板时有一些重叠的字段。 例如iOS的 – >应用程序 – >单一视图应用程序,我也试过用Xcode 8,我没有遇到任何问题,而不是Xcode 7.3.1 @macOS Sierra。 屏幕截图:为您的新项目select选项:

我可以在ElCapitan上安装Xcode 8.3吗?

我可以在不更新我的Mac OS的情况下安装xcode 8.3,即“OS X El Capitan”(版本10.11.6) 我没能在苹果的网站上find任何参考,但是这个链接说我不能。 现在,我已经安装了Xcode 8.2.1。

设置密钥分区列表codesign仍然提示密钥访问

我正在使用以下命令导入包含公钥和私钥的PEM文件,供我的代码签名身份使用: security import "${PEM_FILE}" -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security 在OS X 10.11 El Capitan我可以在没有提示的情况下进行codesign : codesign –force –sign "${IDENTITY_HASH}" –timestamp=none `mktemp` 但是,正如其他人所说 , OS X 10.12 Sierra现在要求您在import之后set-key-partition-list : security set-key-partition-list -S apple-tool:,apple: -s -k "${PASSWORD}" ~/Library/Keychains/login.keychain 但是,即使在set-key-partition-list ,我仍然得到一个UI对话框,要求获得访问我的私钥来进行代码签名的权限: 如果我点击Always Allow ,那么未来的codesign调用不会提示,但我不希望该UI对话框提示。 我希望这一切都可以脚本化。 为什么set-key-partition-list为其他人工作,而不是为我?

APN使用macOS Sierra推送通知

我正尝试使用连接到ssl://gateway.push.apple.com:2195的简单PHP工具来发送手机的推送通知,但连接失败,并显示以下错误: Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in <Users/…/file.php> on line 30 Warning: stream_socket_client(): Failed to enable crypto in <Users/…/file.php> on line 30 Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in <Users/…/file.php> on line 30 Failed to connect: 0 这一切都是从我升级到macOS Sierra的转基因种子开始的。 macOS Sierra中有哪些新特性会影响SSL连接? 我如何解决这个问题?

代码签名错误在macOS高Sierra Xcode – 资源分叉,查找信息,或类似碎石不允许

已经尝试过: macOS Sierra,Xcode 8上的代码签名错误 请参阅图像显示错误 CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW – source/proj.ios_mac" export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" Signing Identity: "iPhone Distribution: New Free Games (2CHN583K4J)" Provisioning Profile: "Super Flow Flipp AppStore" (c6c30d2a-1025-4a23-8d12-1863ff684a05) /usr/bin/codesign –force –sign E48B98966150110E55EAA9B149F731901A41B37F –entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent –timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource […]