有个 macOS 桌面应用用 js 来同步 iCloud 的问题想请教路过的大佬。 - V2EX
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
ChrisFreeMan
V2EX    iDev

有个 macOS 桌面应用用 js 来同步 iCloud 的问题想请教路过的大佬。

  •  
  •   ChrisFreeMan Aug 20, 2022 10016 viws
    This topic created in 1361 days ago, the information mentioned may be changed or developed.

    我今天早上起来一大早闲的没事干,通了一遍 react 的入门教程,顺便和 react 一起组合用了一下 tailwind c s s ,我发现这样的开发体验还是挺有趣的, 用纯 js 来开发应用,可以用回我最喜欢的 vim 来开发了。而且网上资料繁多,一艘就能找到想要实现的样式。我就想着试一试用 react + electron + tailwind + ts 来开发一款应用玩一玩。

    目前只有一个障碍阻挡了我,我想用实现最基础的无账号 iCloud 同步,似乎没有办法做到。 苹果的 CloudKit 只有两种 js 的包,一种是服务端对服务端的同步,有一把公共的同步密钥,而我不想搭建一个服务端来增加额外的维护成本,放在包里的话,由于 electron 反编译非常简单(一条命令就解开了),这个肯定是不安全的。而且只能同步公共云数据库。

    还有一种是网页登录的方式,但是又多了一步登录苹果账户登录的步骤,比较麻烦,而且也无法确定能否再 electron 中顺利使用这个包。

    请问有没有什么方法可以实现无账号多设备同步,没有的话我就放弃了。

    10 replies    2022-08-22 06:09:07 +08:00
    lscho
        1
    lscho  
       Aug 20, 2022 via Android
    搭个服务端多简单的事。。。现在很多免费的 serverless 环境可以用,非常适合做这个。
    ChrisFreeMan
        2
    ChrisFreeMan  
    OP
       Aug 20, 2022
    @lscho 完全免费吗,我最怕免费的东西了。。那种不用绑定信用卡的免费吗
    lscho
        3
    lscho  
       Aug 20, 2022
    @ChrisFreeMan 肯定是完全免费,国内的很多要实名。找国外的吧,还有好多提供托管 nodejs 的环境,都可以用。
    ChrisFreeMan
        4
    ChrisFreeMan  
    OP
       Aug 20, 2022
    @lscho 好吧,假设这个行得通,那么问题就在怎么在用户多个设备中找到一个共同的用户 ID 来绑定数据了(无登录情况下),我还是看看有没有更好的解决方法。
    metrue
        5
    metrue  
       Aug 21, 2022
    不太懂楼主的意思,对于 iCloud ,无账号可以同步么?使用 iCloud 的前提不是需要有个 Apple 账号么?
    ChrisFreeMan
        6
    ChrisFreeMan  
    OP
       Aug 21, 2022
    @metrue 无账号登录是指在 macOS 已经登录 Apple 账户的前提下,无需二次登录 Apple 账号。在已经开启 iCloud 的情况下,默认可以使用系统 iCloud 的同步功能。集成在 Xcode 项目中的 CloudKit 是可以做到这一点的。
    metrue
        7
    metrue  
       Aug 21, 2022
    @ChrisFreeMan

    清楚了,这在浏览器(或者 Electron) 应该不行。我之前在尝试过 CloudKit JS ,需要通过 Sign in with Apple 之后来完成相关的数据操作.
    ChrisFreeMan
        8
    ChrisFreeMan  
    OP
       Aug 21, 2022
    @metrue 我知道那个
    KunMinX
        9
    KunMinX  
       Aug 22, 2022
    macOS 下可看看 shell 脚本是否具可行性
    ChrisFreeMan
        10
    ChrisFreeMan  
    OP
       Aug 22, 2022 via iPhone
    @KunMinX 好主意,回头翻一翻
    About     Help     Advertise     Blog     API     FAQ     Solana     4116 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 05:19 PVG 13:19 LAX 22:19 JFK 01:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86