Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add iCloud Drive/Photo support #2627

Open
1 task
Xuanwo opened this issue Jul 13, 2023 · 7 comments
Open
1 task

feat: Add iCloud Drive/Photo support #2627

Xuanwo opened this issue Jul 13, 2023 · 7 comments

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Jul 13, 2023

I am now an iCloud user, thanks to my wife who bought me a new iPhone. I would like to enable iCloud Drive/Photo support so that I can access and edit them without using my phone (since I do not yet have a MacBook).

This issue is being used to track my progress in adding iCloud support. It's worth noting that developing for Apple services can be challenging outside of the Apple ecosystem.

Context

  • iCloud Drive: Apple's personal storage services, need a personal iCloud account
  • iCloud Phone: Apple's phone sync services, need a personal iCloud account
  • iCloud Containers: Apple's storage solution for iOS app developers, needs an Apple Developer account

This issue is to adding iCloud Drive/Phone support first (since I'm not ready to register an Apple Developer account).

Blockers

  • Authentication: 2FA (which is required for every account now), ADP (more complex)
    • NOTE: I have already enabled ADP, maybe I should start with a new account without it first.

References

@Xuanwo Xuanwo self-assigned this Jul 13, 2023
@Xuanwo Xuanwo removed their assignment Sep 20, 2023
@JasCodes
Copy link

@Xuanwo On back burner atm?

@Xuanwo
Copy link
Member Author

Xuanwo commented Oct 25, 2023

@Xuanwo On back burner atm?

Not working on this issue so far.

@Xuanwo
Copy link
Member Author

Xuanwo commented Jan 2, 2024

@bokket is interested in addressing this issue. He has implemented a quick hack for iCloud as follows:

image

@bokket
Copy link
Contributor

bokket commented Jan 7, 2024

Hi.I have to discuss this here.Stat cannot be obtained according to path.Because in iCloud, all Drivewsid came to the send request directory or file, but the problem is that the variable can only be listed by folder::com.apple.clouddocs::root get.And then only knew the id.
深度截图_选择区域_20240107235157

@bokket
Copy link
Contributor

bokket commented Jan 7, 2024

Current idea.
We can first get the drivewsid and name of all directory from the root and save them in iCloudDrive: HashMap <string, String>. This may be forced user to enter the path of \root\path\opendal.They will be searched for the name of ""and drivewsid to folder::com.apple.clouddocs::root below.Get Name with the HashMap index for request iCloud server.
So which came first, the chicken or the egg?

@Xuanwo
Copy link
Member Author

Xuanwo commented Jan 7, 2024

Because in iCloud, all Drivewsid came to the send request directory or file, but the problem is that the variable can only be listed by folder::com.apple.clouddocs::root get.And then only knew the id.

We can maintain an id-path mapping in memory.

@bokket
Copy link
Contributor

bokket commented Jan 17, 2024

Apple Icloud Drive Roadmap:

Others

ADP:iCloud Advanced Data Protection (PCS)

Of course, I would also like to extract and write a separate experimental icloud library related to raw and http-utils apart, which will be beneficial for future learners interested in Photos or other applications to learn OpenDAL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants