标签: icloud

iCloud:NSUbiquitousKeyValueStore 问题

我在我的应用程序中启用 iCloud 以保存一些首选项。在功能部分启用了 iCloud,我的配置文件已更新:

在此处输入图片说明

我保存和检索测试示例的代码如下:

NSUbiquitousKeyValueStore *cloudStore = [NSUbiquitousKeyValueStore defaultStore];

if ([[cloudStore stringForKey:@"testString"] length] == 0) {
    NSLog(@"Nothing in iCloud - setting a value...");
    [cloudStore setString:@"I'm live in iCloud!" forKey:@"testString"];
    [cloudStore synchronize];
} else {
    NSString *result = [cloudStore stringForKey:@"testString"];
    NSLog(@"Found something in iCloud - here it is: %@", result);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是数据仅保存在本地(如 NSUserDefaults)。当我删除设备中的应用程序时,保存的数据不可恢复。在其他设备中,显然数据也无法恢复。

第一次保存数据。接下来,如果我再次打开该应用程序,则其他代码可以很好地检索数据。但是当我删除 de app 并再次运行时,数据没有保存。

似乎数据没有保存在 iCloud 上,只保存在本地。

我的项目中唯一的“奇怪”是项目名称与包名称不同。

更新:

我的问题仅在 iOs6 中。在 iOs7 中一切正常。当我在带有 iOs 6 的设备中调试我的应用程序时,“调试导航器”iCloud 部分显示:

在此处输入图片说明

配置 iCloud 的所有步骤似乎都没有问题(对于带有 iOs7 的设备工作正常),如果我使用以下代码测试它工作正常:

NSURL *ubiq …
Run Code Online (Sandbox Code Playgroud)

xcode ios icloud nsubiquitouskeyvaluestore xcode5

0
推荐指数
1
解决办法
2546
查看次数

播放通过 CloudKit 下载的视频作为 CKAsset - iOS

我正在制作一个录制视频的应用程序,使用带有 CKAsset 的 CloudKit 将其上传到 iCloud,然后下载文件并在 AVPlayer 中播放。这都是用 Swift 2.0 编写的

我已经下载了数据,我想我已经能够参考它,但我不确定。当我将 URL 转换为 NSData 对象并将其打印到控制台时,数据/垃圾确实会打印。然而,视频文件作为二进制文件下载。我能够转到 CloudKit 仪表板并下载文件并将“.mov”附加到它,并且它在 Quicktime 中打开没问题。

所以我认为我的主要问题是我无法弄清楚如何让视频文件实际播放,因为该文件没有扩展名。我曾尝试使用 URLByAppendingPathExtension() 将 '.mov' 附加到末尾,但无济于事。让我知道任何想法!

上传视频

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    let tempURL = info[UIImagePickerControllerMediaURL] as! NSURL

    dismissViewControllerAnimated(true) { () -> Void in
        self.uploadVideoToiCloud(tempURL)
        print("\n     Before Upload: \(tempURL)\n")
    }
}

func uploadVideoToiCloud(url: NSURL) {
    let videoRecord = CKRecord(recordType: "video", recordID: id)

    videoRecord["title"] = "This is the title"

    let videoAsset = CKAsset(fileURL: url)
    videoRecord["video"] = videoAsset

    CKContainer.defaultContainer().privateCloudDatabase.saveRecord(videoRecord) …
Run Code Online (Sandbox Code Playgroud)

ios avplayer icloud swift cloudkit

0
推荐指数
1
解决办法
2181
查看次数

Apple iCloud 默认日历是什么?

我正在使用 CalDav 访问 Apple iCloud 日历。目前我的帐户中有 4 个日历:家庭、工作、测试校准 1、测试校准 2。前两个似乎是默认创建的,另外两个是测试日历。

然而,当我列出我的委托人的日历时,我得到 8 个不同的日历:

/calendars/64E6F061-DE12-4D6F-B7D4-5DFDE53C800C/是我的测试校准 1

/calendars/A1FBED21-5ED1-4BEF-8C4F-88A0D425BB7A/是我的 Test Cal 2

/calendars/home/主日历,相信这是主日历

/2003926771/calendars/work/工作日历

但我不确定这些其他日历的用途:

/calendars/inbox/

/calendars/notification/

/calendars/tasks/

/calendars/outbox/

可以尝试从他们的名字中猜测,但这会带来更多问题。tasks例如,可能意味着 VTODO 在此日历中进行管理,但这是否意味着 VTODO 未在任何其他日历中列出?

无论如何,主要问题是有人知道每个(默认?)iCloud 日历的用途吗?

caldav icloud

0
推荐指数
1
解决办法
996
查看次数

icloud caldav 返回 401 未经授权

正在使用 caldav 访问 icloud 日历,它工作正常。今天,我的邮递员集合中的所有请求都开始从 caldav.icloud.com 获得 401 我正在访问我自己的个人帐户进行测试,两次检查我的密码一百次,仍然无法正常工作。

要求:

PROPFIND / HTTP/1.1
Host: caldav.icloud.com
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/xml
Cache-Control: no-cache
Postman-Token: 39b27b44-0a6f-b351-540f-f9446df618d0

<propfind xmlns='DAV:'>
    <prop>
        <current-user-principal/>
    </prop>
</propfind>
Run Code Online (Sandbox Code Playgroud)

回应是:

401 unauthorized 
Run Code Online (Sandbox Code Playgroud)

标题:

Connection ?keep-alive
Content-Length ?141
Content-Type ?text/html;charset=utf-8
Date ?Fri, 30 Jun 2017 14:23:34 GMT
Server ?AppleHttpServer/2f080fc0
Strict-Transport-Security ?max-age=31536000; includeSubDomains
WWW-Authenticate ?x-mobileme-authtoken realm="MMCalDav", basic realm="MMCalDav"
X-Apple-Request-UUID ?95e3a459-10b1-4d0a-a3ae-73f29b569481
X-Responding-Server ?caldav:44101701:pv38p41ic-ztdg01080801:8001:17D70:375f9f89bf
X-Transaction-Id ?95e3a459-10b1-4d0a-a3ae-73f29b569481
access-control-expose-headers ?X-Apple-Request-UUID, Via
via ?icloudedge:br30p01ic-zteu01122201:7401:17D30:Berlin
Run Code Online (Sandbox Code Playgroud)

身体:

<html>
    <head>
        <title>Unauthorized</title>
    </head>
    <body>
        <h1>Unauthorized</h1>
        <p>You are not authorized to …
Run Code Online (Sandbox Code Playgroud)

caldav icloud

0
推荐指数
1
解决办法
2008
查看次数

核心数据和 iCloud 同步在实时应用程序中不起作用

刚刚完成和使用核心数据和 iCloud 同步的应用程序。在模拟器和设备上进行测试时,该应用程序运行良好:将文本和图像添加到持久存储没有问题,所有数据都已恢复,所有设备:在模拟器和真实 iPhone 上。我做了很多测试,比如从手机和模拟器中删除应用程序,每次我重新安装/运行应用程序时数据仍然存在。

现在该应用程序在应用程序商店中“上线”,但数据未在设备之间同步。我已使用相同的 Apple 用户名/ID 在两部 iPhone 上安装,在两部设备上都添加了记录,但数据并未按预期在每部手机上恢复或复制。

有任何想法吗?

core-data ios icloud

0
推荐指数
1
解决办法
720
查看次数

如何使用python在Mac云驱动器中创建文件

我正在尝试用 python 代码在我的云驱动器中创建一个文件。当我使用任何应用程序在此位置“/Users/agauravdeep/Library/Mobile Documents/com~apple~CloudDocs/Untitled.rtf”创建文件时,它可以工作,但通过代码,到目前为止我甚至没有成功(尽管没有错误)尝试通过超级用户后。

代码非常简单

# -*- coding: utf-8 -*-
#!/usr/bin/python

from os.path import expanduser
def createBugsFileInitiallyIfNotPresent():
                    global bugsFileLocation
                    bugsFileLocation =  expanduser("~")+"/Library/Mobile Documents/com~apple~CloudDocs/abc.txt"
                    if(os.path.isfile(bugsFileLocation)):
                            f = open(bugsFileLocation, 'w+')
                            f.write(" dddd ")
Run Code Online (Sandbox Code Playgroud)

这也有效, vi ~/Library/Mobile\ Documents/com~apple~CloudDocs/abcd.txt 但是当我在路径周围加上引号时它不起作用。

任何建议都会非常有帮助。

python unix icloud

-1
推荐指数
1
解决办法
1684
查看次数

如何在 swift 2.0 中将 .pdf 文件转换为 base64 字符串?

我必须快速上传文档,我必须使用 iCloud 执行此操作,以便我可以使用 icloud 将文件上传到我的服务器

upload icloud swift swift2

-1
推荐指数
1
解决办法
8129
查看次数

帮助学习iCloud

我正在寻找一些材料来学习iCloud及其功能.我发现提供有关iCloud的信息的站点非常少.任何人都可以建议最好的学习方法吗?任何示例程序?先感谢您.

iphone ios5 icloud

-3
推荐指数
1
解决办法
614
查看次数