日期: 2021 年 4 月 6 日

解决 macos Sierra 系统「安全性与隐私」设置中没有任何来源选项问题

1.打开「终端」:应用程序->实用工具->终端;
2.粘贴下面的命令后,按回车,输入你的系统密码;
sudo spctl –master-disable
3.再次打开安全设置选项,就会发现「任何来源」选项回来了

PS:其实对于升级系统前,已经是任何来源选项的,还会显示,不会改变,但别的选项的,升级后就会消失.

下载 连接windows远程桌面的软件:https://www.douban.com/note/582866854/?type=rec

Mac“安全性与隐私”中添加“任何来源”方法

安装软件打不开时,需更改“设置”中的“安全性与隐私”

方法:
输入“sudo spctl —master-disable”粘贴至“终端”运行代码(回车),然后再输入你电脑的password(回车)即可。

此时,Mac“安全性与隐私”中添加了一项“任何来源”,且已选择并锁定。

%title插图%num
有些安装好的软件,就可以打开了。

Apple pencil 无法连接到ipad的解决办法汇总

Apple pencil 无法连接到ipad的解决办法汇总
大概有两周左右没有使用apple pencil,突然发现ipad识别不了,连接不上了。按所有尝试过的方法进行了排序,如果中间某步可以连接上,就不必再进行下一步了。
1、关闭蓝牙,重新开启,插入apple pencil看可否连接。
2、在蓝牙中找到apple pencil这个设备,选择忽略此设备,重新识别。
3、关机重启再次尝试。
4、在设置—通用—还原所有设置,该方法不会恢复出厂设置,重启ipad后重新插上连接。
5、猜测可能是pencil笔没有电了,导致插上ipad没有反应。正版购买的apple pencil中,有备用笔帽,还有一个充电转接器,用充电转接器连接apple pencil直接用电源充电,电源充电比较慢,充上一定电量后,再重新插入ipad中尝试连接。
6、平时都直接用ipad给笔充电的,没想到笔完全没电后ipad就识别不了,充不上电了,觉得有点不科学。恰好充电转接器不在身边,于是把apple pencil插在ipad上,一直插着大概十几分钟,期间一直没反应(平时充电都有提示电量程度),然后拔出来pencil笔,重复步骤1和2,出现配对的提示,连接成功了。
7、淘宝上有卖充电转接器的,大概十几二十元左右。
8、给苹果客服打电话,客服会把你附近的苹果专卖店地址发给你邮箱,需要提前电话专卖店地址预约报修,购买一年之内,不需要出维修费。不方便去的话可以邮寄过去,修好后给寄回来。

VSCode上的iOS开发

Using an IDE other than Xcode for iOS development until recently was a rather lonely path. This however tends to change with recent developments in the Apple ecosystem. Swift runs officially on Linux, Windows, AWS lambda, docker, and other places where you wouldn’t expect to find a programming language made by Apple.

直到*近,使用Xcode以外的IDE进行iOS开发都是一条很孤独的道路。 但是,随着Apple生态系统的*新发展,这种趋势往往会改变。 Swift可以在Linux,Windows,AWS lambda,docker和其他您不希望找到Apple编写的编程语言的地方正式运行。

Apple also wants to enable Swift to be a first-class citizen in 3rd party IDEs providing error reporting and code auto-completion. For that reason, they are developing SourceKit-LSP with plugins ready for popular IDEs such as Visual Studio Code (aka VSCode).

苹果还希望让Swift成为第三方IDE中的一等公民,从而提供错误报告和代码自动完成功能。 出于这个原因,他们正在开发SourceKit-LSP ,其插件可用于流行的IDE,例如Visual Studio Code(又名VSCode)。

Why would you want to use an IDE other than Xcode? Well, Xcode is not available on Linux or Windows in the first place. But even when being on a Mac, VSCode offers several nice features among of them a killer one called Live Share that allows 2 or more developers to collaborate remotely on the same file with live code co-editing. You can think of it as Google Docs for code.

为什么要使用Xcode以外的IDE? 好吧,首先,Xcode在LinuxWindows上不可用。 但是,即使在Mac上,VSCode也提供了许多不错的功能,其中一个杀手级功能称为Live Share ,它允许2个或更多开发人员通过实时代码共同编辑在同一文件上进行远程协作。 您可以将其视为Google Docs代码。

In the days of post-Covid and home office this feature is a real life saver and makes a developer’s life so much easier either if you want to do pair programming or briefly explain and get assistance on a certain task.

在Covid发布后和家庭办公室时代,此功能可为您节省大量时间,如果您想进行配对编程或简要地解释并获得特定任务的帮助,则使开发人员的生活变得更加轻松。

If you try to use Swift in VSCode you will get something like that:

如果您尝试在VSCode中使用Swift,则会得到类似以下内容:

Auto-completion does not work as expected
自动补全无法按预期工作

The steps needed to enable VSCode for iOS development are basically 3:

启用VSCode进行iOS开发所需的步骤基本上是3:

  • Enable Swift language support启用S​​wift语言支持
  • Add iOS framework support添加iOS框架支持
  • Add “app” target support添加“应用”目标支持

Since this guide focuses on iOS and this is currently possible only with a Mac for the rest of the guide we will assume we are running on a Mac. Otherwise you can go as far a step 1.

由于本指南着重于iOS,因此本指南的其余部分目前仅适用于Mac,因此我们假定我们在Mac上运行。 否则,您可以继续执行步骤1。

启用S​​wift语言支持 (Enable Swift language support)

Make sure you have Xcode and VSCode installed. This is the easiest way to hit the ground running since sourcekit-lsp comes prebundled with Xcode. Open a terminal and run:

确保已安装Xcode和VSCode。 由于sourcekit-lsp与Xcode捆绑在一起,因此这是*简单的运行方法。 打开一个终端并运行:

$ xcrun sourcekit-lsp

Assuming that you don’t see any output this is normal and means it works as expected. Hit Ctrl+C to end the process.

假设您没有看到任何输出,这是正常现象,意味着它可以正常工作。 按Ctrl + C结束该过程。

构建SourceKit-LSP扩展 (Build the SourceKit-LSP extension)

Now it is time to build the SourceKit-LSP extension. There is an unofficial SourceKit-LSP — Unofficial CI build but this did not work for me. Building it from source is not that hard. Just make sure you have node.js installed and then run:

现在该构建SourceKit-LSP扩展了。 有一个非官方的SourceKit-LSP —非官方的CI版本,但这对我不起作用。 从源代码构建它并不难。 只要确保您已安装node.js ,然后运行:

$ git clone https://github.com/apple/sourcekit-lsp.git
$ cd sourcekit-lsp/Editors/vscode/
$ npm run createDevPackage
$ code --install-extension out/sourcekit-lsp-vscode-dev.vsix

After that restart VSCode.

之后,重新启动VSCode。

Contrary to what you might read elsewhere you don’t need to edit the source code of the extension at all.

与您在其他地方可能会读到的内容相反,您根本不需要编辑扩展程序的源代码。

If you try to open a Swift file now you will get an error

如果您现在尝试打开Swift文件,将会收到错误消息

The plugin can’t locate SourceKit-LSP’s location
插件找不到SourceKit-LSP的位置

配置扩展 (Configure the extension)

You need to let the plugin know the location of the sourcekit-lsp executable. Open settings.json from VSCode using Cmd+Shift+P and enter “Preferences: Open Settings (JSON)”.

您需要让插件知道sourcekit-lsp可执行文件的位置 使用Cmd + Shift + P从VSCode打开settings.json ,然后输入“首选项:打开设置(JSON)”。

Insert this JSON as the last entry in the existing JSON. Remember to add a comma in the previous line.

将此JSON作为现有JSON中的*后一个条目插入。 请记住在前一行添加逗号。

"sourcekit-lsp.serverPath": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/sourcekit-lsp"

添加iOS框架支持 (Add iOS framework support)

What is we achieved so far is to enable Swift development but VSCode has no idea about iOS frameworks. If you try to import UIKit you will get an error.

到目前为止,我们要做的是启用Swift开发,但是VSCode对iOS框架一无所知。 如果尝试导入UIKit,将会收到错误消息。

The UIKit framework is not recognized
无法识别UIKit框架

Insert this JSON in settings.json. You might need to update the x86_64-apple-ios13.6-simulator line based on the current version that you have installed.

将此JSON插入settings.json中 。 您可能需要根据已安装的当前版本更新x86_64-apple-ios13.6-simulator行。

"sourcekit-lsp.serverArguments": ["-Xswiftc","-sdk","-Xswiftc","/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk","-Xswiftc","-target","-Xswiftc","x86_64-apple-ios13.6-simulator",],

This will work for Swift packages that reference iOS frameworks like UIKit.

这将适用于引用iOS框架(如UIKit)的Swift软件包。

添加“应用”目标支持 (Add “app” target support)

So far we added iOS support but only for Swift packages. What if you want to work on a typical app target. Trying to open the root folder gives this error:

到目前为止,我们添加了iOS支持,但仅支持Swift软件包。 如果您想处理典型的应用目标该怎么办。 尝试打开根文件夹会出现以下错误:

SourceKit-LSP is looking for a Swift package manifest file
SourceKit-LSP正在寻找Swift软件包清单文件

What if you want to work on an iOS app and not on a Swift Package? SourceKit-LSP always looks for a package.json in root folder assuming that it always deals with a Swift package. An iOS app is not a Swift package and for that reason we need to trick SourceKit-LSP by adding a dummy Package.swift. Add this file to the root of your project (same level as .xcodeproj)

如果您想在iOS应用而不是Swift包上工作怎么办? 假设SourceKit-LSP始终处理Swift包,则它总是在根文件夹中寻找package.json。 iOS应用程序不是Swift包,因此,我们需要通过添加虚拟Package.swift来欺骗SourceKit-LSP  将此文件添加到项目的根目录 (与.xcodeproj相同的级别)

// swift-tools-version:5.2
import PackageDescriptionlet packageName = "PROJECT_NAME" // <-- Change this to yourslet package = Package(
  name: "",
  // platforms: [.iOS("9.0")],
  products: [
    .library(name: packageName, targets: [packageName])
  ],
  targets: [
    .target(
      name: packageName,
      path: packageName
    )
  ]
)

Don’t forget to set packageName to your own one.

不要忘记将packageName设置为您自己的。

Double check the location of the file
仔细检查文件的位置

Restart VSCode one last time and voila! Proper UIKit auto-completion

*后一次重新启动VSCode,瞧! 正确的UIKit自动完成

黑苹果登录apple id_充分利用Apple登录功能

黑苹果登录apple id

充分利用Apple登录功能 (Get the most out of Sign in with Apple)

?WWDC2020 | Session : 10173 | Category : Privacy and Security

?WWDC2020| 会议:10173 | 分类:隐私和安全

https://developer.apple.com/videos/play/wwdc2020/10173/

?https ://developer.apple.com/videos/play/wwdc2020/10173/

? Sign in with Apple makes it easy for people to sign in to your apps and websites with the Apple ID they already have. Fully integrate Sign in with Apple into your app using secure requests, and by handling state changes and server notifications. We’ll also introduce new APIs that allow you to let existing users switch to Sign in with Apple quickly and easily.

with使用Apple登录可以使人们轻松使用已有的Apple ID登录您的应用和网站。 使用安全请求以及处理状态更改和服务器通知,将Apple登录完全集成到您的应用程序中。 我们还将引入新的API,使您可以让现有用户快速,轻松地切换为使用Apple登录。

Related : Introducing Sign In with Apple — WWDC19 (Introducing Sign In with Apple)

相关:与Apple一起 介绍登录 — WWDC19(与Apple一起 介绍登录 )

创建安全请求 ( Creating a secure request)

These nonce and state properties will allow you to verify that the authorization and credential you get after executing a request are the ones you were expecting.

这些noncestate属性将使您能够验证执行请求后获得的授权和凭据是否与预期的一样。

确保您的请求 (Securing your request)

随机数 (Nonce)

The nonce is an opaque blob of data sent as a string in the request.

随机数是在请求中作为字符串发送的不透明数据块。

It is important to generate one unique nonce every time you create a new request as later on you will be able to verify this value.

每次创建新请求时都必须生成一个唯一的随机数,这一点很重要,稍后您便可以验证该值。

This will allow you to verify this value in your server, helping prevent replay attacks.

这将使您能够在服务器中验证此值,从而有助于防止重放攻击。

州 (State)

The state value is also an opaque blob of data sent with the request.

状态值也是随请求发送的不透明数据块。

Once key difference he has with the nonce value is that the state will be returned in the credential allowing you to locally match a credential to a request and verify this was generated from your application.

一旦他与nonce值的关键区别在于,将在凭证中返回状态,从而使您可以将凭证与请求本地匹配,并验证该凭证是从应用程序生成的。

响应私人电子邮件中继 (Response Private email relay)

Example on how to get a credential from an authorization

有关如何从授权中获取凭证的示例

Inside of credential you will find properties containing the user information that you requested like name and email. You will also find important properties that will allow you to securely verify the request and create a session with your servers.

在凭证内部,您将找到包含您要求的用户信息(例如名称和电子邮件)的属性。 您还将找到重要的属性,这些属性将使您可以安全地验证请求并与服务器建立会话。

验证凭证 (Verifying Credentials)

响应 (Response)

  • Cache the objects locally It is important to cache the objects you need in case of the failure communicating with your server due to poor connectivity.在本地缓存对象重要的是,在由于连接不良而无法与服务器通信的情况下,缓存所需的对象非常重要。
  • Verify the state value Make sure you verify the state value of the credential to be the same state value you previously generated.验证状态值确保验证证书的状态值与先前生成的状态值相同。
  • Validate the information with Apple The response contains an authorization code an identity token. Send these values to your server where they can be decoded. Once decoded, verify the received information as well as session with Apple servers.使用Apple验证信息响应包含授权码和身份令牌。 将这些值发送到可以对其进行解码的服务器。 解码后,验证接收到的信息以及与Apple服务器的会话。

How will the entry token will look when decoded by your server

当服务器解码时,入口令牌的外观如何

  • subject : A user identified that was returned to you on the authorization and will allow to create a session in your servers.

    subject :根据授权返回给您的用户标识,将允许您在服务器中创建会话。

  • nonce : Verify these to be the same nonce you generated previously in the request. This will allow you to verify the authenticity of the authorization and help mitigate replay attacks.

    nonce :验证它们是否与您先前在请求中生成的随机数相同。 这将使您可以验证授权的真实性,并有助于减轻重放攻击。

  • real_user_status : 0 – unsupported, 1 – unknown, 2 – likely real

    real_user_status :0-不支持,1-未知,2-可能为实

身份令牌和授权码 (Identity token and authorization code)

You can exchange the authorization code with the Apple ID servers. And when this is successful you will receive a refreshed token and an access token for future calls as well as a new identity token that should be identical to the one you already have.

您可以与Apple ID服务器交换授权码。 成功完成后,您将收到刷新的令牌和用于将来呼叫的访问令牌,以及一个新的身份令牌,该令牌应与您已经拥有的令牌相同。

You may verify a refresh token once a day to confirm that the user’s Apple ID on that device is still in good standing.

您可以每天验证一次刷新令牌,以确认该设备上用户的Apple ID仍处于良好状态。

凭证状态变更 ( Credential state changes)

getCredentialState API allows you to verify the current state of a credential by sending the currently stored user identifier.

getCredentialState API,您可以通过发送当前存储的用户标识符来验证凭据的当前状态。

It is important that this method is called every time your application is launched or changes to the foreground. That way you will be able to react on time to any changes in status and present the appropriate scheme in your application to your user.

每次启动应用程序或更改到前台时都必须调用此方法,这一点很重要。 这样,您将能够及时对状态的任何变化做出React,并在应用程序中向用户提供适当的方案。

  • .authorized : You can fast track the user directly to your application and skip the login UI.

    .authorized :您可以直接将用户快速跟踪到您的应用程序,并跳过登录UI。

  • .revoked : The user decided to sign out of your application. In this scenario you should sign the user out of your application. Close your session and present the login screen

    .revoked :用户决定退出您的应用程序。 在这种情况下,您应该使用户退出您的应用程序。 关闭会话并显示登录屏幕

  • .notFound : This will be returned when there was no credential matching the user identifier. Present a login screen so that the user can authenticate your application.

    .notFound :当没有与用户标识符匹配的凭证时,将返回此值。 显示一个登录屏幕,以便用户可以验证您的应用程序。

  • .transferred

    ?。已.transferred

?转移状态 (? Transferred State)

  • Ownership changed This will only be received by application that recently were transferred from one development team to another. (ex. after a company’s acquired)所有权已更改这只会由*近从一个开发团队转移到另一个开发团队的应用程序接收。 (例如,公司被收购后)
  • User migration needed User identifiers are unique to a team. So when transferring ownership of an application, the existing user will need to be migrated to a new user identifier to match the new team.需要用户迁移用户标识符对于团队是唯一的。 因此,在转让应用程序所有权时,需要将现有用户迁移到新的用户标识符以匹配新团队。
  • Silent migration This migration is handled silently. This is without any user interaction and can be triggered calling the same API used to create a new account or logging the user.静默迁移静默处理此迁移。 这没有任何用户交互,可以通过调用用于创建新帐户的相同API或记录用户来触发。

We can validate the transfer state of the user and generate the new user identifier that will match the new team.

我们可以验证用户的转移状态,并生成与新团队匹配的新用户标识符。

服务器通知 ( Server notifications)

?服务器到服务器开发人员通知 (? Server to server developer notifications)

Listening to these notifications will allow you to monitor things like credential state changes right from your server as well as receive other types of events.

侦听这些通知将使您可以直接从服务器监视诸如凭证状态更改之类的事情,并接收其他类型的事件。

  • Register You have to register your server endpoint on the Apple developer’s website.注册您必须在Apple开发人员的网站上注册服务器端点。
  • JWT Event Events will be sent as JSON web tokens signed by Apple.JWT事件事件将作为Apple签名的JSON网络令牌发送。

The email-disabled event which you can get if a user has decided to stop receiving emails on their email relay. The email enabled event means that the user opted back into receiving email messages.

email-disabled事件,如果用户决定停止在其电子邮件中继上接收电子邮件,则可以获取该事件。 启用电子邮件的事件意味着用户选择重新接收电子邮件。

It is important to note that this event as well as the email disabled will only be sent when the user previously decided to use a private email relay for their account.

重要的是要注意,仅当用户先前决定对其帐户使用私人电子邮件中继时,才会发送此事件以及禁用的电子邮件。

The consent-revoked event will be sent to you when a user decided to stop using their AppleID with your application and should be treated as a sign out by the user.

当用户决定停止在您的应用程序中使用其AppleID时,将consent-revoked您的consent-revoked事件,该事件应被用户视为退出。

with使用Apple Button登录 ( Sign in with Apple Button)

?Swift UI支持 (? Swift UI support)

onRequest : This is the right place to add the requested scopes like name and email and the nonce state values.

onRequest :这里是添加请求的范围(如名称和电子邮件以及现时状态值)的正确位置。

onCompletion : We will get the result of the request and handle the success or failure cases just as you would on the delegate methods for the authorization controller.

onCompletion :我们将获得请求的结果并处理成功或失败的情况,就像在授权控制器的委托方法上一样。

.signInWithAppleButtonStyle : We can also select the Button style.

.signInWithAppleButtonStyle :我们还可以选择Button样式。

款式 (Styles)

  • Black黑色
  • White白色
  • White outline白色轮廓

If you need to personalize the Sign in with Apple Button more to match the specific design of your website or application → a new online portal

如果您需要更多个性化使用Apple Button登录以匹配您的网站或应用程序的特定设计→一个新的在线门户

?在线按钮编辑器 (? Online Button editor)

https://appleid.apple.com/signinwithapple/button

https://appleid.apple.com/signinwithapple/button

?升级以使用Apple登录 ( ? Upgrading to Sign in with Apple)

What about users that are already using a traditional username and password based account and don’t want to fork their current account?

对于已经使用传统的基于用户名和密码的帐户并且不想分叉当前帐户的用户呢?

  • Secure It’s secure for both you and your users. Upgrading to Sign in with Apple is the easiest way to convert your accounts to two factor authentication.安全它对您和您的用户都是安全的。 升级到Apple登录是将帐户转换为两因素身份验证的*简单方法。
  • Reduce complexity Account recovery is also a lot less complicated with Sign in with Apple.降低复杂性使用Apple登录可以使帐户恢复变得简单得多。
  • Prevent duplicate accounts Utilizing this API will prevent the duplication of accounts.防止帐户重复使用此API将防止帐户重复。

→ Users that are already using a traditional username and password based account won’t abandon their current account, they can just upgrade.

→已经在使用传统的基于用户名和密码的帐户的用户不会放弃其当前帐户,而只需升级即可。

总览 (Overview)

One Tap Account Security Upgrades — WWDC20

一键式帐户安全性升级— WWDC20

三种升级流程 (Three flow for upgrades)

  1. When security recommendations identifies a weak credential in the new password manager and settings.当安全建议确定新密码管理器和设置中的弱证书时。
  2. When a user is interacting with your app utilizes password autofill and the selected credential is a weak credential.当用户与您的应用进行交互时,会使用密码自动填充功能,并且所选凭据是弱凭据。
  3. When you invoke the new authentication services API via a user interaction that you specify within your app通过您在应用程序中指定的用户交互调用新的身份验证服务API时

ASAccountAuthenticationModificationViewController (ASAccountAuthenticationModificationViewController)

  • convertAccountsToSignInWithAppleWithoutUserInteraction : Called initially by the extension hosting process in an attempt to upgrade the credential without user interaction.

    convertAccountsToSignInWithAppleWithoutUserInteraction :*初由扩展托管进程调用,以尝试在没有用户交互的情况下升级凭据。

  • viewDidLoad : This can be used to set up an intermediary user interface for the security step of flow if necessary. Providing intermediary UI to indicate progress might help provide the best user experience.

    viewDidLoad :如有必要,可用于为流程的安全步骤设置中间用户界面。 提供中间UI来指示进度可能有助于提供*佳的用户体验。

  • prepareInterfaceToConvertAccountToSignInWithApple : This is called just prior to your view appearing. It gets past the same ASPasswordCredential provided is a non user interaction flow.

    prepareInterfaceToConvertAccountToSignInWithApple :这在您的视图出现之前被调用。 它超越了非用户交互流所提供的相同的ASPasswordCredential。

扩展上下文 (Extension context)

  • ASAccountAuthenticationModificationViewController Used to control the flow of the upgrade.ASAccountAuthenticationModificationViewController用于控制升级流程。
  • Authorization It has function to request Sign in with Apple authorization.授权具有请求使用Apple授权登录的功能。
  • Request UI If you’re evaluating the credential or currently signed in account and determined that additional UI is needed to verify the account the extension context is used to request that the step up security UI is displayed.请求用户界面如果您正在评估凭据或当前已登录帐户,并且确定需要其他用户界面来验证该帐户,则扩展上下文用于请求显示安全性提升用户界面。
  • Complete This removes the existing credential.完成这将删除现有的凭证。
  • Cancel The extension context is also used in cases which you need to cancel the flow entirely.取消扩展上下文还用于需要完全取消流的情况。
  • getSignInWithAppleAuthorizationWithState : Displays the Sign in with Apple UI with your apps information asking the user to authorize the upgrade. Request in upgrade flows nonce and state is passed as a parameter to this call.

    getSignInWithAppleAuthorizationWithState :显示带有Apple UI的登录以及您的应用程序信息,要求用户授权升级。 升级中的请求流nonce , state作为参数传递给此调用。

  • completeUpgradeToSignInWithApple : This lets the extension hosting process know that authorization completed successfully resulting in the removal of the password credential.

    completeUpgradeToSignInWithApple :这使扩展托管过程知道授权已成功完成,从而删除了密码凭证。

  • cancelRequest

    cancelRequest

  • userInteractionRequired : If your extension determines that additional UI needs to be shown to the user.

    userInteractionRequired :如果扩展程序确定需要向用户显示其他UI。

  • userCanceled : If your canceled while within your UI flow utilize that user cancelled ever.

    userCanceled :如果您在用户界面流中被取消,则使用该用户被取消。

  • failed : All other failures can use the failed error.

    failed :所有其他失败都可以使用失败的错误。

帐户身份验证修改扩展 (Account authentication modification extension)

准备在没有UI的情况下进行转换 (Prepare to convert without UI)

  1. We begin the flow in the OS when toe user interacts with a weak credential and wants to upgrade that credential to Sign in with Apple.当用户与弱证书交互并想要升级该证书以使用Apple登录时,我们便开始在OS中进行操作。
  2. Your account modification extension is initialized by the password managing process.您的帐户修改扩展名由密码管理过程初始化。
  3. And the convert without UI function is called providing the password credential intended to be upgraded to Sign in with Apple.无需用户界面的转换功能称为提供旨在升级为使用Apple登录的密码凭证。
  4. The extension’s job is to evaluate the past credential to make sure it is valid prior to upgrading to Sign n with Apple (At this point checking too see if the username matches the currently signed in user is a good first course of action.)扩展程序的工作是评估过去的凭据,以确保它在使用Apple升级到Sign n之前是有效的(此时,也请检查用户名是否与当前登录的用户匹配是否是很好的*步。)
  5. The extension determined that the state of the signed in user and the pass credential requires a call to the server to verify the account.该扩展插件确定已登录用户的状态和传递凭据需要调用服务器以验证帐户。
  6. The server verifies the credential and the authentication is a success.服务器验证凭据,并且身份验证成功。
  7. The server then replies back to the extension confirming that the account is ready to be upgraded to Sign in with Apple.然后,服务器回复该扩展,以确认该帐户已准备好升级为使用Apple登录。
  8. The account is confirmed as authenticated and eligible for upgrade the extension context would be used to request the Apple ID credential.该帐户被确认为已认证并且符合升级条件,扩展上下文将用于请求Apple ID凭据。

What would happen if there’s an issue with the account preventing an immediate upgrade?

如果帐户出现问题,无法立即升级,该怎么办

  1. Flow begins when the user interacts with a weak credential and wants to upgrade that credential.当用户与弱凭证交互并想要升级该凭证时,流程开始。
  2. Your account modification extension is then initialized by the password managing process.然后,您的帐户修改扩展名将由密码管理过程初始化。
  3. Then the prepare to convert without UI function is called with the password credential.然后,使用密码凭证调用没有UI功能的准备转换。
  4. The credential are then verified by the extension.然后,该凭证由扩展名验证。
  5. The extension calls it verify credential function which results in a call today extensions back end to validate the credential.该扩展调用它的验证凭证功能,导致今天调用扩展后端来验证凭证。
  6. The server will attempt to verify the account with the request.服务器将尝试使用请求验证帐户。
  7. Sever determines that this account needs additional verification.服务器确定该帐户需要其他验证。
  8. That reply comes back to the extension and the verified credential function evaluates this as a twoFactorAuthRequired.

    该答复返回到扩展名,并且已验证的凭证函数将其评估为twoFactorAuthRequired 。

  9. This case is handled by using the extension context to call cancel with error with the user interaction required error.通过使用扩展上下文来调用带错误的cancel并处理用户交互所需的错误,可以解决这种情况。

verifyCredential→ When the existing credential is verified one of these three values would get returned.

verifyCredential →验证现有凭据后,将返回这三个值之一。

  • .failure : Result for cases such as when the server attempts to validate the credential but the account or service date is not appropriate for converting the account at that time.

    .failure :某些情况下的结果,例如服务器尝试验证凭据,但该帐户或服务日期不适合当时转换该帐户。

  • .success : This indicates that the account is ready to be converted right away.

    .success :这表示该帐户已准备好立即转换。

  • .twoFactorAuthRequired : This means that we need to show some UI to the user. The credential alone is not enough to upgrade.

    .twoFactorAuthRequired :这意味着我们需要向用户显示一些UI。 仅凭证书不足以升级。

仅在需要时请求用户界面 (Request UI only if needed)

To avoid users having to do extra work in most cases where a user is already authenticated in your app.

为了避免用户在大多数情况下已经在您的应用中通过身份验证的用户做额外的工作。

使用UI转换 (Converting with UI)

There could be circumstances where UI flows might be warranted.

在某些情况下,可能需要确保UI流动。

  1. After the extension contacts cancelled with the user interaction required error, the password managing process initializes a new instance of the account modification view controller在分机联系人因用户交互所需的错误而取消后,密码管理过程将初始化帐户修改视图控制器的新实例
  2. And calls it prepared to convert with your function. Passing the ASPasswordCredential. (At this point, the extension’s ViewController is presented providing Intermediary UI such as a spinning gear.)并调用它准备好与您的函数进行转换。 传递ASPasswordCredential。 (此时,提供了扩展程序的ViewController,提供了中间UI(如旋转齿轮)。)
  3. Utilizing the same credentials as earlier with perhaps a slight change of context a request is made to the back end.使用与先前相同的凭据,但可能会稍微改变上下文,从而向后端发出请求。
  4. The server attempts to verify the account. Requires two F.A and sends a rely back to the extension.服务器尝试验证帐户。 需要两个FA,并将依赖项发送回扩展。
  5. The extension updates the view asking the user for two factor authentication.该扩展程序更新了视图,要求用户进行两因素验证。
  6. The user provides the verification code which the extension would then verify.用户提供扩展名随后将验证的验证码。
  7. If the user could not be verified at this point, the extension context would be used to cancel the flow with the failed error.如果此时无法验证用户,则将使用扩展上下文来取消带有失败错误的流。
  8. If the user provide a valid code and verification is a success, the extension is now ready to request the AppleID credential.如果用户提供了有效的代码并且验证成功,则该扩展现在可以请求AppleID凭据了。

升级帐号 (Upgrading account)

  1. It is important to secure your request, to do so your extension would generate a state and nonce and pass them as parameters for the getAppleIDCredential call.保护您的请求很重要,这样做扩展将生成状态和随机数并将其作为参数传递给getAppleIDCredential调用。
  2. This results in an upgrade to Sign in with Apple UI being displayed to the user.这导致向用户显示使用Apple UI登录的升级。
  3. The user then authorizes using Face ID.然后,用户授权使用人脸ID。
  4. The AppleIDCredential is provided to the extension in the completion block of the getAppleIDCredential call.AppleIDCredential在getAppleIDCredential调用的完成块中提供给扩展。
  5. The extension would then verify the credentials stay properly as being the same generated earlier.然后,扩展名将验证凭据是否与之前生成的凭据保持一致。
  6. The extension would them request an upgrade of the account providing the necessary account information and the AppleIDCredential to the server back end, so the account can be converted.该扩展将要求他们升级帐户,以向服务器后端提供必要的帐户信息和AppleIDCredential,以便可以转换帐户。
  7. The back end would then exchange the authorization code with Apple servers verifying the value of the nonce in the identity token.然后,后端将与Apple服务器交换授权码,以验证身份令牌中随机数的值。
  8. And if successful perform a conversion of the account.如果成功执行帐户转换。
  9. After converting, it sends a reply back with a success value. It is important to note again that if the servers operation failed the extension contact should be used to call cancel with error with the failed error.转换后,它会发送带有成功值的回复。 再次重要的是要注意,如果服务器操作失败,则扩展联系人应用于调用带错误错误的带错误的取消。
  10. This time the server is indicating success. So the extension will perform any required bookkeeping and then call a complete upgrade to Sign in with Apple on the extension context.这次服务器指示成功。 因此,扩展程序将执行所有必需的簿记工作,然后调用完整的升级以在扩展程序上下文中与Apple登录。
  11. This result in the password manager removing the existing credential and with that the flow is completed.这导致密码管理器删除了现有的凭证,从而完成了流程。

Utilizing this API →

使用此API→

  • Improving user security改善用户安全性
  • Avoid confusion避免混乱
  • Convenient方便

ᵗʱᵃᵑᵏઽ ⠒̫⃝♡

⠒̫⃝ᵗʱᵃᵑᵏઽ♡

大家开始使用公司配发的 Apple M1 做开发了吗,有什么兼容性问题吗?

新公司( A 轮创业公司)下月即将入职(阿里云 /GCP 上的 SaaS DevOps ),看同事们用的都是 Macbook Pro 。

于是我给 manager 提前写了邮件想申请 Apple M1 (13-inch, M1, 2020 ),主要对比了跟 16 寸 Macbook Pro 的价格,但是也忘记提兼容性的问题了。

一开始回复的我没有问题,过了一会儿又回复了我一封,说

因为公司其他人都是用的 Intel 的,你选的是 ARM 架构的,架构不一样,所有的底层工具要用的库都会不一样,这样你自己的工作会很麻烦,也会出现一个 script 在其他人那里跑的通,自己这里跑不通的麻烦,所以我还是建议你用 13 寸的 Intel 芯片的 Macbook Pro

我倒是不太担心兼容性的问题,听朋友们说 bug 修的很快,开源社区的兼容性也很快,我觉得作为公司*个吃螃蟹的人问题不大。 但从 manager 的角度,肯定求稳。

求问大家怎么看?

34 条回复    2021-04-04 18:14:20 +08:00
wipbssldo
    1

wipbssldo   3 天前   ❤️ 8

听 manager 的
hccsoul
    2

hccsoul   3 天前   ❤️ 3

自己玩玩随便你怎么玩。但是公司大家一起做的开发的兼容性很重要 建议随大流
Mitt
    3

Mitt   3 天前

建议 16 寸 intel,13 寸搞开发有点扯淡
gxy2825
    4

gxy2825   3 天前

你可以调研一下公司开发中要用到的各种工具目前在 m1 上的兼容性,用事实说服 manager
okletswin
    5

okletswin   3 天前   ❤️ 1

自己回家折腾用 M1 公司办公用统一的
comlewin
    6

comlewin   3 天前

你搞技术的,manager 说的库和脚本很现实,半天搞不定怎么弄……
13 寸 intel *近涨价了,16 一直很稳
felixcode
    7

felixcode   3 天前 via Android   ❤️ 2

你跟其它人跑出来的结果不一样的时候,你就告诉他们 m1 更先进。
CoCoMcRee
    8

CoCoMcRee   3 天前   ❤️ 1

iOS 技术栈
前端技术栈
python 技术栈
以上三个是我在 M1 上干活用过的, 毫无问题. Docker 也照样跑.

但是安卓技术栈就不太行….可能后续会支持吧.

daveh
    9

daveh   3 天前 via iPhone

能自己搞定兼容性问题,就 M1,搞不定就随大流。
搞定是指自己能改 path 或做 workaround 。另外 script 一般都跨平台的,不挑哪个体系架构都能跑,不清楚你们 script 特殊还是 manager 也不懂。
lambdAlan
    10

lambdAlan   3 天前

m1 确实有问题,我自己写着玩的 docker-compose 拉取 mysql 镜像的时候显示提示不兼容,后面搜索改了一下能运行,但是 mysql 一直起不来,可能是我太菜了 OTL

LEEuncle
    11

LEEuncle   3 天前

当然是听 manager 的,工作是 team work
janus77
    12

janus77   3 天前 via iPhone

兼容性不是你一个人的问题
是团队所有人的问题
你写的东西在你这儿正常,在别人那里不正常,这让谁来解决?
lovecy
    13

lovecy   3 天前

首先公司得配发 MAC,再来讨论是否 M1
RealJacob
    14

RealJacob   3 天前 via iPhone

自己开发都好说,m1 现在问题不太大。但是公司的东西你不和别人保持同步,反正我是觉得不靠谱。让我自己买我不排斥 m1 做开发,但是要是公司发的话肯定还是 16 寸
SandyLee
    15

SandyLee   3 天前 via Android

别折腾了,就跟同事一致吧,工作上有很多无奈
taolu
    16

taolu   3 天前

@lambdAlan #10 官方的 mysql 只支持 amd64,要 arm64 的需要用 mysql/mysql-server 这个镜像,不过只有 mysql 8.0,没有 5.7
liprais
    17

liprais   3 天前

用了三个月了,无任何不适
bearboss
    18

bearboss   3 天前

前端和 go 目前在 m1 上还没遇到啥问题
dawn009
    19

dawn009   3 天前

遇到更多的是 macOS 11 和以前版本的兼容性问题,M1 专有的问题目前还没发现。不过跑虚拟机相关的东西一定会有问题
ichanne
    20

ichanne   3 天前

iOS 开发有兼容性问题,有些国内的 SDK 没有适配 M1,导致模拟器无法使用。
walpurgis
    21

walpurgis   3 天前 via Android

选贵的
tonyaiken
    22

tonyaiken   3 天前 via iPhone

自己玩的用 M1,工作机肯定得跟大家一样,出问题多麻烦
thx2u
    23

thx2u   3 天前 via iPhone

连接个显示器都有各种问题,别说和团队合作了
BrettD
    24

BrettD   3 天前 via iPhone

经理说的很委婉了,不希望因为你特立独行使用 M1 工作由于兼容性问题导致团队工作效率下降
IU111
    25

IU111   3 天前 via iPhone

有兼容问题,譬如装不了低版本的 node
cszchen
    26

cszchen   3 天前 via Android

经理是对的,出问题的概率太大了,风险不可控
MengiNo
    27

MengiNo   2 天前   ❤️ 1

首先,m1 只支持外接一个显示器,就是*大的问题。

回到正题,虽然个人用 m1 除了 docker 镜像有些需要特殊处理之外没感觉有什么很大问题。但还是强烈建议选 intel,不要引入风险,而且给你的 intel 也是旗舰款,没必要这样。真的很想折腾,能入职这样的公司,买一个入门的 m1 mac mini 玩玩,对于你来说相信应该也不是什么负担。

而且话说回来,站在 manager 的立场下,换我我也不愿意在一个久经考验的没有问题的镜像中为了 m1 去加几个条件或者参数(比如哪怕像 go 的交叉编译参数),虽然我自己用的确是可以没有任何问题,但要为公司负责的事情肯定是有压力和阻力的(特别现在*大的问题不是来源于技术革新,而是一个本身就不保证稳定的东西)。

MengiNo
    28

MengiNo   2 天前

当然你可以尝试的去动员一些同事一起要求换 m1 来提前适应。但是这样压力来到 manager 这边,都给你们换了,那老的 intel 怎么办,也是公司花大价钱买来的。把这个事情 manager 压下来大家不爽,报上去老板不爽。虽然有这个伏笔,但是千万不要一来就做这种给人感觉有政治意味的动作。
zq11211277
    29

zq11211277   2 天前 via iPhone

不知道楼主年纪,羡慕吃螃蟹的精神
lihnzx
    30

lihnzx   2 天前

主动讨锅
hakufuasano
    31

hakufuasano   2 天前 via iPhone

我现在在做 GCP 方面的开发 可以认识一下吗 微信:tao4free
Zien
    32

Zien   2 天前 via iPhone

和大家设备和工具保持一致,除非你想折腾
Yanbin
    33

Yanbin   1 天前

too simple, sometimes naive…
johnsonyeen
    34

johnsonyeen   1 天前

Intel 挺好的了

macOS 有什么办法能真全局代理。

macOS 上设置全局代理,可以通过以下两种方式:

1. 使用系统偏好设置

在 macOS 上,默认情况下,系统偏好设置中的代理设置只会应用于 HTTP 和 HTTPS 协议。要实现真正的全局代理,需要将代理设置应用于所有协议。

具体操作步骤如下:

  1. 打开 macOS 的系统偏好设置,点击“网络”。
  2. 在左侧列表中,选择您要设置代理的网络连接。
  3. 在右侧,点击“高级”。
  4. 在“代理”标签中,取消“自动配置代理”复选框。
  5. 在“HTTP 代理”和“HTTPS 代理”字段中,输入代理服务器地址和端口号。
  6. 在“SOCKS 代理”字段中,输入 SOCKS 代理服务器地址和端口号。
  7. 点击“应用”。

2. 使用代理软件

除了使用系统偏好设置之外,还可以使用代理软件来实现全局代理。代理软件可以为所有网络连接提供代理服务,包括 HTTP、HTTPS、SOCKS 等协议。

常用的代理软件有:

  • Shadowsocks
  • V2Ray
  • Clash

这些软件可以通过配置文件来设置代理服务器地址和端口号。配置文件可以从软件官方网站下载,也可以自行创建。

真全局代理的含义

所谓真全局代理,是指所有网络连接都通过代理服务器进行中转。这包括:

  • 浏览器访问网站
  • 使用应用程序
  • 使用游戏
  • 使用网络设备

如果代理设置只应用于部分协议,则不能称为真全局代理。

注意事项

使用全局代理可能会影响网络速度和稳定性。在使用前,建议先测试代理服务器的性能。

有人给 Apple 提意见并被采纳了吗?

还有两个月 iOS 15 就要出来了,特别想删除 APP 资源库, 滑动屏幕经常不小心点到它,占屏幕资源,真的很鸡肋

49 条回复    2021-04-06 09:52:25 +08:00
dingwen07
    1

dingwen07   2 天前 via Android   ❤️ 1

加一堆空桌面防止划过去
EasonC
    2

EasonC   2 天前 via iPhone

我给打过电话,客服说可以联系微博苹果客服
luhe
    3

luhe   2 天前 via iPhone   ❤️ 5

而我现在把桌面删到只剩首屏,只用资源库了 /狗头
allenchen10
    4

allenchen10   2 天前

只有一屏常用应用,别的都直接 Spotlight 搜索,资源库确实不好用
xtx
    5

xtx   2 天前 via iPhone

应该给用户选择的权利,加一个开关。
zsyld
    6

zsyld   2 天前 via iPhone   ❤️ 1

我提过限制开发者获取手机型号的权限,毕竟用什么手机也属于隐私,肯定不会采纳啦,社交 app 显示型号对 iPhone 也算是免费的广告…
stabc
    7

stabc   2 天前

这个小工具除了表现苹果对用户的专横没有半点作用。还不让关,一不小心就滑到它,就像踩了屎一样恶心。我的做法跟上面的一样,就是被迫只剩一屏,彻底放弃左右滑动。
thx2u
    8

thx2u   2 天前 via iPhone

这东西就和 Touch Bar 一样,建议 Pro 款的去掉这类功能
iold
    9

iold   2 天前

按照笔记本键盘的尿性, 还得用几年才能改回去
HashV2
    10

HashV2   2 天前

@thx2u 所以以后真去掉了, touch bar 大部分场景只能做到 `看着高级`

missqso
    11

missqso   2 天前 via iPhone

那我特别奇怪,我只用资源库打开 app,哈哈哈
dingdangnao
    12

dingdangnao   2 天前

我倒是觉得 library 还挺好用的(如果能手动排序的话 就更好用了
xuegy
    13

xuegy   2 天前 via iPhone

提意见不会有用的,给你加个开关那就不是苹果了。
falcon05
    14

falcon05   2 天前 via iPhone

没用的,早就有人提了,苹果根本不鸟你,不得不说,资源库实在是太丑了?
Axnir
    15

Axnir   2 天前 via iPhone   ❤️ 3

为什么要删除呢,考虑过喜欢的人的感受了吗
starrystarry
    16

starrystarry   2 天前   ❤️ 1

https://www.apple.com.cn/legal/intellectual-property/policies/ideas.html
luguhu
    17

luguhu   2 天前 via iPhone   ❤️ 1

只用资源库的表示不能接受
0x6c696e71696e67
    18

0x6c696e71696e67   2 天前   ❤️ 5

锁屏右滑打开相机才是要删除的,真的因为这个费了好多电
avia1ae
    19

avia1ae   2 天前

苹果应该考虑增加一个开关,还有滑到*左边的那个小工具栏真是毫无用处。
ansonsiva
    20

ansonsiva   2 天前   ❤️ 3

我觉得还不错,留放两页常用的 app,其他都进资源库
shanwu
    21

shanwu   2 天前   ❤️ 2

这些年我应该已经发送过上百条反馈,没统计过有多少后来被采纳。有改动的那些也不知道我的反馈在其中起到了多大作用,因为从来都不会有针对性回复。给苹果这样的大公司反馈是很没劲的,给个人开发者或小团队反馈则比较愉快,有很大概率能得到回复。
allenchen10
    22

allenchen10   2 天前 via iPhone   ❤️ 1

@allenchen10 #4 补充一下,我更希望可以有把资源库中的「搜索」作为默认界面的选项,直接按照字母排列。
目前资源库这种过于随机的分类方式让我每次要点开好几个文件夹才能找到特定的 app 。
Vanson
    23

Vanson   2 天前

APP 资源库,我很不喜欢,感觉很鸡肋。不知道大家什么感觉
LightInTheDark
    24

LightInTheDark   2 天前   ❤️ 1

我是桌面啥都不放的那种,要开 app 直接资源库或者 spolight 搜索
archknight
    25

archknight   2 天前

锁屏那个相机才是应该删的,什么蛋疼设计
inhd
    26

inhd   2 天前

@LightInTheDark 好奇你这样的效率会变高吗,中文模式很不方便啊,还是纯英文使用?
akring
    27

akring   2 天前   ❤️ 1

@archknight #24 需要抓拍一些画面的时候很有用,「屏幕亮」-「右滑」-「音量键上」,全程不超过 2s,应该没有更快的方式了。
akring
    28

akring   2 天前

@inhd #25 其实用熟了还好,很多常用软件的英文名大概都能记得,例如微信的话,直接桌面下拉,输入「 we 」然后回车就可以了。而且 Spotlight 貌似还有学习能力,常用的 app 会前置展示
archknight
    29

archknight   2 天前

@akring 啊这,难道就我是个例吗
Cassano
    30

Cassano   2 天前

资源库难道不是在*后一页么?在*后一页忽略它不就得了?
AshFive
    31

AshFive   2 天前

@Cassano 分屏页面少的,容易误滑到 资源库
SupercatX
    32

SupercatX   2 天前 via iPhone   ❤️ 1

@zsyld 获取不到型号咋适配机型….
aptx4689
    33

aptx4689   2 天前

从来不给这种大公司反馈,基本上都挺没劲的
hadooow
    34

hadooow   2 天前 via iPhone

资源库习惯了还挺好用的,老是从那里启动 app 了
Vincent103
    35

Vincent103   2 天前

在代工厂,给苹果说你这工艺精度我们达不到啊,然后他们就放宽了标准,这算吗
huZhao
    36

huZhao   2 天前

app 多了,找不到 app,就凸显出资源库 的功能了,比如删除它。
Bruce2077
    37

Bruce2077   2 天前

资源库很好用啊,我现在只有一个首页和资源库页面了,很清爽
yitingbai
    38

yitingbai   2 天前

@zsyld 作为一个开发者的角度给你解释一下, 获取型号是必须的, 不同的机型配置都不一样, 需要在软件逻辑里面做区分和优化, 不仅仅是装逼的作用, 你这个提议纯属找茬了
zsyld
    39

zsyld   2 天前

@yitingbai
@SupercatX 什么地方的适配需要获取机型? iOS API 都提供有对应的方法把?
wanwenx
    40

wanwenx   2 天前

之前遇到一个问题,iPhone11 的边缘手势有问题,只有在 iPhone11 上会复现,其他的没有复现。那这种情况如果没有判断机型的话没办法解决。而且 iOS 的 API 我个人是没有见过只有某些机型可以用,有的机型不可以用的,都是以 iOS 版本来限制的。*关键的是统计某一类机型并不能定位到个人,隐私啥的也可以接收(我个人),所以禁这玩意没啥意义啊。
YvesX
    41

YvesX   2 天前

不评价资源库,现在都还没弄明白。但如果什么都加开关就不是 iOS 了,“你可以自己改啊”是工程师喜欢的捷径,什么决定都交给用户来做不就等于没有设计。
forgetandnew
    42

forgetandnew   2 天前

这个资源库设计,纯属脱裤子放屁
Cmxxx
    43

Cmxxx   2 天前   ❤️ 1

不知道有没有人尝试过双卡的短信和电话功能,那叫一个。。。。
AllenHua
    44

AllenHua   2 天前

我觉得无所谓 现在用着用着也挺习惯的

装了 200+app 很多都常年不打开 我的主屏只有一页

然后其他 app 进 app library 查找 或者 spotlight 查找

1if5ty3
    45

1if5ty3   1 天前

除了 dock 栏和几个显眼的 app,其他基本是搜索打开的。
sobigfish
    46

sobigfish   1 天前

你自己多加几页就可以了,
我提过“dark mode 应该匹配当前时区的日落日出”的建议,反正是改了
而且 Apple 的回复过我
wovfeng
    47

wovfeng   1 天前 via iPhone

说不定有人提意见需要资源库,苹果采纳了呢…
sizhengping
    48

sizhengping   1 天前 via iPhone

我为什么这么喜欢这个功能?
espaul64
    49

espaul64   44 分钟前

苹果:没有人比我更懂用户!
虽然但是,我确实收到过苹果的 Mac 用户调查问卷,问得还挺细

mac 上的 notepad++的替代品,用于看日志和搜索日志

windows 上一直在用 notepad++看日志,每次打开日志,可以全局搜索日志里面包含某个关键字的所有行。 并且 notepad++会自动在屏幕下面嵌入一个搜索结果窗口,包含这个关键字的所有行。点击某一行的时候,上面的正文也会自动的跳到这一行去,对查询日志非常方便。。。 不知道 mac 上有提供类似功能的 app 嘛。。。

或者同求有大神分享更好的 app 。。。

notepad.png

65 条回复    2021-04-06 10:16:21 +08:00
jobs0
    1

jobs0   3 天前 via iPhone   ❤️ 1

我一开始用 sublime,但是不支持 M1,现在用 vscode
qanniu
    2

qanniu   3 天前

铜球。
看 log 楼主在春茧上班?
xylophone21
    3

xylophone21   3 天前

nthin0
    4

nthin0   3 天前 via iPhone

同,想在 vscode 找个能实现类似功能到插件没找到
EZVIK
    5

EZVIK   3 天前

一开始用 atom, 后面打开程序太慢就改用 vscode 了, 直接 new 一个页面粘贴。
7v9TEc53
    6

7v9TEc53   3 天前

010 editor
ultraedit
zhuxiaoxi
    7

zhuxiaoxi   3 天前 via iPhone

很少看日志,我记得 Mac 系统自带了一个工具。如果你想找搜索后结果单独显示点击结果,正文就能跳转的编辑器,可以试试 coteditor 。
yuancoder
    8

yuancoder   3 天前

既然用 mac 了,多用用命令
wellsc
    9

wellsc   3 天前 via iPhone

vim 加命令行?
ShadowPower
    10

ShadowPower   3 天前

有一个叫 notepadqq 的仿制品
https://github.com/notepadqq/notepadqq
它的高级搜索也可以列出每一行,点击可以跳转到相应的位置

liprais
    11

liprais   3 天前 via iPhone   ❤️ 1

mac 上的控制台是我见过性能*好的日志查看器
nicevar
    12

nicevar   3 天前

notepadqq,自己编一个 mac 版本的,选 ote 的版本更好用
evam
    13

evam   3 天前

coteditor
yzwduck
    14

yzwduck   3 天前 via Android

lnav 查看日志的命令行工具
NeezerGu
    15

NeezerGu   3 天前

CrossOver 下可以运行
chendy
    16

chendy   3 天前

mac 有个控制台.app 可以看日志
missdeer
    17

missdeer   3 天前

我以前为了看公司产品的日志(也是这种 log4xxx 的格式),专门写了个程序。。。
不过现在那个产品几乎弃坑了,所以我这个程序也弃坑了 https://github.com/missdeer/cjlv
shm7
    18

shm7   3 天前 via iPhone

vscode sublime 吧
AllenHua
    19

AllenHua   3 天前 via iPhone

coteditor

textmate

Helsing
    20

Helsing   3 天前 via iPhone

其实那个标注功能才是*好用的,我之前也发帖问过,但是并没有什么好的推荐 /t/727806
ooops
    21

ooops   3 天前 via iPhone

*近刚好用过,vscode 有个插件 text power tools,可以把关键字提取到新的 editor 里面,和这个类似。但 vscode 对大的日志文件性能不太行,还不如 sublime
Helsing
    22

Helsing   3 天前 via iPhone

@Helsing #20
现在我都是用 vs code,正则过滤用着还行,但是还是没有 EverNote 好用
dreamramon
    23

dreamramon   3 天前

@ShadowPower 谢谢推荐,刚才编译了一个,可能是 python 写的问题,一打开大日志文件,在 big sur 上就崩溃了。。。
dreamramon
    24

dreamramon   3 天前

@missdeer 果然,我们的需求都是一样的。。。win 上的 notepad++ 打开大文件也超快。。。
mac 上的编辑器,开一个 20g 的大日志。。。基本上就报废了。。。
prccn
    25

prccn   3 天前

parallels desktop + notepad++
qlqsh
    26

qlqsh   3 天前

textmate
RicardoM
    27

RicardoM   3 天前

这个功能不就是 vim 里的 quickfix 吗?不想用命令行的话,可以试一下 vimr
lululau
    28

lululau   3 天前

lnav
lance6716
    29

lance6716   3 天前 via Android

同求,有没有能识别 tag 然后点击过滤的,跟 kibana 类似的
Tink
    30

Tink   3 天前 via Android

SubEthaEdit 强烈推荐
guanhui07
    31

guanhui07   3 天前

vim
Kiana1
    32

Kiana1   3 天前

vim
cotEditor
lchecho
    33

lchecho   3 天前

cotEditor+1
jason52
    34

jason52   3 天前

vim 可以实现

https://i.loli.net/2021/04/02/APoM6OE4tGBTQun.png

cjban
    35

cjban   3 天前

cotEditor
dreamramon
    36

dreamramon   3 天前

@Tink 谢谢了,差不多是这个功能了,但是他那个搜索结果窗还不能固定嵌入,是浮动的,每次还是要多点一次。。。
CathayChen
    37

CathayChen   3 天前

有这功夫,把 vim 熟悉一下,他不香么?
ericguo
    38

ericguo   3 天前

http://www.logtailapp.com 这个如何?
love
    39

love   3 天前 via Android

@CathayChen vim 打开一个不大的日志文件都会卡死的吧
Daming
    40

Daming   3 天前 via Android

@dreamramon win 上打开大文件推荐用 emeditor,notepad++性能不行
applepieuser
    41

applepieuser   3 天前 via iPhone

glogg 这个有 windows 版和 Mac 版。
MaxLi77
    42

MaxLi77   3 天前

010 editor,文本查看神器
dreamramon
    43

dreamramon   3 天前

@Daming 确实是,大于 10g 还是多少,notepad 会直接提示文件过大,不能打开。emeditor 打开的就像飞一样。。。
Zien
    44

Zien   3 天前 via iPhone

moped 和 atom
eijnew
    45

eijnew   3 天前

cotEditor/Textastic/MacVim/SublimeText
darksword21
    46

darksword21   3 天前

这不就是 emacs + swiper 吗
wowcz
    47

wowcz   3 天前

glogg 这个才是 windows 上打开大日志文件不卡的东西,不过 mac 上没用过
v2sir
    48

v2sir   3 天前

@jobs0 @jobs0 好了好了, 知道你用 macbook pro 了, 光 sublime 你都提 M1 两次了 ……
zhengwenk
    49

zhengwenk   3 天前

用 mac 的话 直接 vim 不好么
snycv
    50

snycv   3 天前

coteditor+1
heiheidewo
    51

heiheidewo   3 天前

把文件名的后缀改为 .log 双击用控制台打开
jobs0
    52

jobs0   3 天前 via iPhone

@v2sir 这么关注我?
ruokw
    53

ruokw   3 天前 via Android   ❤️ 2

klogg 只为日志而生
drawstar
    54

drawstar   3 天前

我也在找,目前用 cotEditior,
liuzhedash
    55

liuzhedash   2 天前

@NeezerGu #15
DPI 怎么调都不舒服,老哥有什么经验分享么?
dreamramon
    56

dreamramon   2 天前

试用了所有,发现 logtail 是 mac 上比较好的选择。。。
kevinnuaa
    57

kevinnuaa   2 天前

github 上 2016 就有个 issue 想要这个 feature 。https://github.com/microsoft/vscode/issues/14836
官方到现在都没有实现这个,但是底下 bnason-nf 做了一个插件 https://marketplace.visualstudio.com/items?itemName=bnason-nf.findallinfile, 我觉得挺好用的,完美实现。
xiebruce
    58

xiebruce   1 天前

@prccn 为什么不用免费的 Vmware Fusion 呢?如果你说你不知道,那我现在告诉你了,你没听错!我也没有说错! Vmware Fusion(目前版本是 12.x)对个人用户免费!免费!是真的!我已经安装了!只不过要在官网注册一下,拿个激活码而已。
dreamramon
    59

dreamramon   1 天前

@xiebruce 这个太重了,为了看日志,我还要启动个 windows 。
savebox
    60

savebox   1 天前

BareTailPro + wine 好用,mac 下没找到好用的
v2sir
    61

v2sir   1 天前

@jobs0 多虑了, 我只是关注 sublime 而已。。
jobs0
    62

jobs0   1 天前 via iPhone

@v2sir ??
wangqj
    63

wangqj   23 小时 14 分钟前

coeditor *对可以满足你的要求

打开搜索框,输入查找的词,选择“Find All”即可

Helsing
    64

Helsing   9 小时 31 分钟前

@ruokw

这个确实很棒,可以自定义 highlighter 高亮所有添加的关键词,查看相关联的日志的时候非常方便。

之前一直找有这个功能的软件,一直没找到,谢谢推荐

Q2F5emxo
    65

Q2F5emxo   19 分钟前

CotEditor

关于解决 ios14 杀后台的不完全办法

1 、
设置语言与区域,语言添加 English,保留中文;
地区选美国,温度单位改回°C ;
地图改公里。

————至此,解决大部分 App 切换就需要重新加载的问题。

2 、
安装对应 iOS 版本的 App 版本(旧版 App )
[原理是 iOS 版本不同对应的 App 后台管理机制不同,解决系统干掉 App 后台问题]

3 、
以上主要用于旧机型,*终的解决办法还是用*新的机型。

4 条回复
shiro327
    1

shiro327   11 小时 37 分钟前

1 好像管点用?手持 iPhone7 开了好多个 app 没有杀后台,是什么原理
finnlewis
    2

finnlewis   10 小时 14 分钟前 via iPhone

1 这都行????
Silently
    3

Silently   5 小时 26 分钟前 via iPhone   ❤️ 2

玄学
james504
    4

james504   1 小时 7 分钟前

1 有用 是我的错觉吗 2 安装旧版 App 是一直都有效的
友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速