普通视图

发现新文章,点击刷新页面。
今天 — 2025年4月3日首页
昨天 — 2025年4月2日首页

Apple Login for JavaScript

作者 光阴独白
2025年4月2日 10:10

Apple Login for JavaScript

官方文档:developer.apple.com/documentati…

参数说明

Response type

控制登录后返回的类型,可选是code,id_token等,如果是id_token,下面的response_mode则必须是form_post

Response Mode

控制登录后code/id_token返回方式;

  1. 如果response_typequery则会拼接在下面配置的redirect_uri的后面
  2. 如果response_typeid_token,则需要配置form_post,则会以post方法请求redirect_uri

Client Id

在Apple 开发者账户创建Identifier:

新建证书

选择Services ID

填写Identifier

注册成功则Identifier则是Client Id;

Redirect uri

  1. 如果response_typequery则登录获取的code则会拼接在url后面
  2. 如果response_typeid_token,则需要配置form_post,则会以post方法请求返回该url

选择证书

![编辑](/Users/moki/Library/Application Support/typora-user-images/image-20250331005459622.png)

配置url

Scope

向Apple请求的用户信息, 比如name email使用空格分割

JS使用Apple登录(前端部分)

使用url

可以使用拼接的url打开苹果登录页,文档: developer.apple.com/documentati…:

const baseUrl = "https://appleid.apple.com/auth/authorize";
const url = new URL(baseUrl);

url.searchParams.append("response_type", "code"); 
url.searchParams.append("response_mode", "query");
url.searchParams.append("client_id", "xxx");
url.searchParams.append("nonce", "name email");
url.searchParams.append("redirect_uri", "https://xxx.com");

window.open(url.torString(), "_blank");

使用JS SDK

body中引入js文件:


<body>
        <script 
                type="text/javascript"           src="https://appleid.cdnapple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script>
        </script>
    </body>

初始化:

// 参数值同上
AppleID.auth.init({
    clientId : '[CLIENT_ID]',
    scope : '[SCOPES]',
    redirectURI : '[REDIRECT_URI]',
    usePopup : true
});

主动调用登录:

interface SignResponseType {
  authorization: {
    code: string;
    id_token: string;
    state: string;
  },
  user: {
       email: string,
       name: {
         firstName: string,
         lastName: string
       }
     }
}

const onCode = () => {
  try {
    // AppleID是根据上面 body 中导入的 js 挂载
    window.AppleID.auth
      .signIn()
      .then((res: SignResponseType) => {
              console.log("code: ", res?.authorization?.code)
      })
      .catch(console.log);
  }catch(err) {
    // TODO...
  }
}

onCode();

校验Apple Code (后端部分)

该部分以 Node 为例子,处理前端获取到apple code传递给后端进行校验

首选需要登录apple开发者账户创建一个keys:

image-20250331010947545

需要勾选上Sign in with Apple:

image-20250331011007371

记住 keyid和保存证书为xx.p8格式,该证书只能下载一次!

![image-20250331011349189](/Users/moki/Library/Application Support/typora-user-images/image-20250331011349189.png)

使用 apple-signin-auth处理:

import appleSignin from 'apple-signin-auth';


const clientSecret = appleSignin.getClientSecret({
    clientID: 'xxxx', // 与上面创建的 clientID 为同一个
    teamID: 'x x x x', // Appl 开发者账户的 唯一标识符
    privateKey: '', // 该值为上面导出的`xxx.p8`的证书的值,可用文本编辑器打开
    // privateKeyPath: "", // 不想用 privateKey 可以用 该属性代替,表示 xxx.p8 证书的地址
    keyIdentifier: '', // 上面创建 key 的 key Id
    expAfter: 15777000, 
});
const options = {
    clientID: '', // Apple Client ID
    redirectUri: '', // use the same value which you passed to authorisation URL.
    clientSecret: clientSecret
};


// 测试前端的token是否有效
try {
    const tokenResponse = await appleSignin.getAuthorizationToken("x x x", options);

} catch (err) {
    console.error(err);
}
昨天以前首页

iOS 18 迄今最大更新推送, 实测苹果的「5.5G」有什么不同

作者 苏伟鸿
2025年4月1日 18:13

4 月的第一天,苹果 iOS 18.4 正式版如期而至,几乎可以说,这就是 iOS 18 发布以来最大的一次版本更新。

其中最值得关注的,当然是全新的 5G-A 网络支持,以及正式支持简体中文的 Apple 智能。

话不多说,下面一起来看看 iOS 18.4 有什么不容错过的全新功能。

5G-A 有多快?

iOS 18.4 首先为国行 iPhone 带来了 5G-A 网络的支持。5G-A 又名「5.5 G」,也刚好差不多在一年前这个时间节点,国内运营商纷纷启动 5G-A 商用,不少 Android 手机都早已跟进,苹果这波更新只能说虽迟但到。

5G-A 好处都有啥?虽然还不是 6G,但 5G-A 相比较 5G,速率更高,延迟要更低,前者的理论速率是后者的十倍。并且 5G-A 基站在每平方公里都支持超过 100 万台终端连接,意味着在人流密集的商场、演唱会 5G-A 的通讯会更顺畅。

不过,国内目前还没有完成 5G-A 的全面覆盖,目前只应用于一些主要城市的部分地区。爱范儿所在的 TIT 园区,刚好就能接收到 5G-A 信号。

升级 iOS 18.4 后,iPhone 15 和 iPhone 16(除 16e)系列在地区支持的情况下会显示「5GA」,iPhone 13 和 iPhone 14 系列,以及 iPhone 16e 据悉仅支持中国联通、中国电信的 5G-A 信号,并且不会在状态栏显示。

经过实测,5G-A 在测试速度和实测中,确实要比 5G 要更快一点,不过信号不佳的地方,支不支持 5G-A 都没啥不同。

Apple 智能会说中文了,但说得不是特别好

需要注意的是,这里的「中文版」指的是海外机型能用上支持中文的苹果 AI,而不是 Apple 智能上线国行 iPhone,国内的小伙伴想用上 AI 还要再等等。

就目前而言,Apple 智能的重头戏在文字生成的「写作工具」上。这个功能没有特定的入口,能够选取任何文字进行调用,可对文字重新润色、做成表格或者提取摘要。

▲ 图源:哔哩哔哩@大耳朵TV

「写作工具」更强的能力在文字创作上,用户可以选择写好的文字进行校对,也能选中文字进行改写。苹果提供了三种润色的风格:「友好」「正式」「简洁」,以面对不同的场合。如果有自己的想法,还能输入具体的修改需求。

▲ 「祝你休息愉快」是哪里的表达…..图源:哔哩哔哩@李大可爱玩

要是一个字都不想写,Apple 智能还能联动 ChatGPT,直接让它根据需求生成长文。

ChatGPT 的助力不仅限于写作工具,打开 Siri 的 ChatGPT 扩展后,也能直接用普通话调用更聪明的聊天机器人回答问题。简单的口头问题不用说,还能让其总结网页、识别图片、解数学题……总之,ChatGPT 有的能力,都能通过 Siri 在 iPhone 上更方便地实现。

▲ 图源:哔哩哔哩@李大可爱玩

接入 ChatGPT 的 Siri 可以说终于有了「智能助手」的能力,但更强的情景感知、跨应用和应用内操作等深度的系统级能力,还需要等待苹果自研的 AI Siri,而上个月苹果已经宣布这个功能将至少推迟到明年。

AI 通知摘要和全新的「优先通知」都正式上线支持中文。目前来看,一些简单的通知准确度会更高,而像是微信这些多条的聊天信息,AI 理解起来会有一点问题,摘要结果会不太准确。而打开「优先通知」之后,AI 会将它认为更重要的信息置顶显示。

▲ 图源:哔哩哔哩@李大可爱玩

iOS 18.4 还为 iPhone 15 Pro、iPhone 16e 两台没有相机控制的机型带来了视觉智能入口,用户可以设置可以用操作按钮呼出视觉智能,也可以在控制中心添加一个方便的开关,可以用来翻译看到的外文,或者调用 ChatGPT 识别物体了。

▲ 图源:哔哩哔哩@大耳朵TV

并非所有的 Apple 智能功能都已经支持中文,两个「文生图」功能——Genmoji 表情生成和图乐园图片生成目前依旧只支持英文。

就目前而言,Apple 智能的使用体验还算中规中矩,对中文的支持还有点水土不服。

最近苹果高管频繁访华,或许也意味着苹果正在努力推进国行 Apple 智能的进度,相信官网上的「为 Apple 智能准备好」很快能变成「支持 Apple 智能」。

其他值得一提的功能更新

如果你用的是国行 iPhone,刚好所在地也不支持 5G-A,那么 iOS 18.4 还剩下什么亮点?

首先控制中心新增了一个名为「环境音乐」的板块,包含四种风格的纯音乐歌单:「安睡助眠」、「放松减压」、「提升效率」、「平衡身心」,点击就能播放,播放界面类似 Apple Music,但要更加简单。

「照片」App 有不少细节上的变化:

  • 图库新增了一个「不在相簿中」的筛选选项,可以筛选那些没有被放入任何相簿的图片
  • 相簿选项新增一个「封面照片」的选项,点击后每个相簿的卡片会变成大图封面的样式,还新增了「按修改日期排序」的选项
  • 「照片」的设置选项中,有一个显示最近查看和共享的切换开关,它将在实用程序列表中显示或隐藏最近查看和最近共享的相册
  • 「最近删除」重新加回了一键全部删除和全部恢复

可以说,都是一些小的更新,不太可能扭转这个新「照片」应用惨淡的口碑。

全新的邮件「分类收件箱」也正式支持中文,可以在右上角的选项卡中切换。

就目前的情况来看,中文邮件的分类并不算准确,不建议使用。

▲ 苹果自己的「Find My」成「推广」了

App Store 中暂停应用下载的逻辑有所变化:以前是终止了就要重下,现在暂停后可以恢复下载。

Safari 浏览器中,点击搜索框现在会出现最近的搜索历史,这个新功能可以在设置中选择关闭。

还有全新的 7 个 Emoji:眼袋、指纹、甜菜、枯树、竖琴、铲子、萨克岛旗,想必这个「眼袋」将成为打工人的新宠。

如果你手头有 Vision Pro 头显和 AirPods Max,那么 iOS 18.4 还将为你带来两个特别实用的更新。

首先是一个全新的「Apple Vision Pro」应用,能够用 iPhone 方便地查看头显目前的状态,包括设备的型号、系统版本和序列号,以及镜片参数等等信息,苹果也会在这个 App 中推广新的 Vision Pro 内容,像是沉浸式视频、应用和游戏,还有一些使用 Vision Pro 的技巧和功能介绍。

值得一提的是,今天一同推出的 visionOS 2.4 也为海外 Vision Pro 用户带去了第一批 Apple 智能功能支持,包括写作工具、图乐园、 Genmoji 表情生成和自然语言搜索等功能。

更新 iOS 18.4 之后, USB-C 的 AirPods Max 支持 Apple Music 的 24 位 48kHz 无损音频播放,不过需要使用耳机附带的 USB-C 连接线,以有线的形式才能聆听。

来到第四个版本,iOS 18 也可以说进入到了「成熟期」,接下来的大版本更新预计都只会是小修小补,当然,对于国内用户来说,还有国行 Apple 智能这个大菜还没上。

说是「成熟期」而不是「完全体」,主要还是因为 Apple 智能的「心脏」——AI 增强 Siri 的无限期跳票,导致 iOS 18 注定无法实现一年前 WWDC 上面描绘的美好愿景。

距离今年的 WWDC 还有 70 天左右的时间,希望苹果今年这个要用上全新风格的 iOS 19,别再让我们失望。

你还在 iOS 18.4 中发现了什么新功能?欢迎在评论区告诉爱范儿。

#欢迎关注爱范儿官方微信公众号:爱范儿(微信号:ifanr),更多精彩内容第一时间为您奉上。

爱范儿 | 原文链接 · 查看评论 · 新浪微博


都2025年,你竟然还敢买iOS的源码?

作者 iOS阿玮
2025年4月1日 10:22

App Store审核问题或3.2f咨询,请公众号留言。不免费,不闲聊。iOS研究院

序言

买源码这件事情在互联网公司初创是最常见的行为,除了节约了开发成本,更为重要的是节约了开发的时间

对于想做某方面业务,但是完全不懂技术的初创者来说,是再好不过的选择了。

尤其是在2015~2020年,口罩前期不少外包公司也是雨后春笋般。那个时候没有这么多较为知名的头部产品,也是人人都是产品经理的时代

做微商的想做自己的商城App,做化妆品、做珠宝、做鞋子的,等等...

转折点

在步入2022年之后,苹果先后提高了开发者的门槛。首先就是大陆区账号注册的难度提升,增加了人脸拍摄。提高了代码查重的算法。之前矩阵的打法也就是马甲包,不断沦为苹果重点照顾的重灾区

衍生的条款

在算法一步步提升的背景下,Guideline 4.3(a) - Design - Spam中拓展了3点内容:

  • We noticed your app still shares a similar binary, metadata, and/or concept as apps previously submitted by a terminated Apple Developer Program account.

译:我们注意到你的应用程序仍然与之前被终止的苹果开发者计划帐户提交的应用程序共享类似的二进制文件、元数据和/或概念。

  • Submitting an app with the same source code or assets as other apps already submitted to the App Store

译:提交与其他已提交到app Store的应用程序具有相同源代码或资产的应用程序

  • Purchasing an app template with problematic code from a third party

译:从第三方购买有问题代码的应用模板

加强版

最近有很多同行在咨询3.2f,其中最值得关注的是

Evidence of Dishonest or Fraudulent Activity


Your account is associated with terminated developer accounts and/or accounts 
engaged in fraudulent activities. These associations may include, but are not limited to, shared account information, 
submissions with similar or identical App Store metadata, app binaries with s
hared code, resources, or assets, or the transfer of apps engaged in fraudulent activities between accounts.

包括但不限于共享账户信息、具有相似或相同App Store元数据的提交、具有共享代码、资源或资产的应用程序二进制文件

也就是说在今年之前,仅仅局限于上架被拒4.3a。苹果在最近开始了新一轮的二进制比对,在未进行迭代,上新的账户中,触发了代码关联性的查重。

所以都2025年了,你还敢买iOS的源码?我建议是算了吧,你把握不住的~

遵守规则,方得长治久安,最后祝大家大吉大利,今晚过审!

❌
❌