永远不会在 ios 的 google API 中获取上传数据进度

2024-05-13

我在我的应用程序中使用 Google Drive API 从我的应用程序上传文件。到目前为止,我成功了,并找到了上传所有类型文件的良好结果。

我跟着谷歌示例 https://developers.google.com/drive/examples/objectivec上传文件。

我试图在上传时根据文件大小显示进度。我已经浏览了谷歌给出的示例代码中的许多课程,但没有太多结果。

获取文件上传进度的步骤如下:

我在 GTLServices.m 中找到了以下方法

- (void)setUploadProgressBlock:(GTLServiceUploadProgressBlock)block {
  [uploadProgressBlock_ autorelease];
  uploadProgressBlock_ = [block copy];

  if (uploadProgressBlock_) {
    // As above, we need the fetcher to call us back when bytes are sent.
    SEL sentDataSel = @selector(objectFetcher:didSendBytes:totalBytesSent:totalBytesExpectedToSend:);
    [[self objectFetcher] setSentDataSelector:sentDataSel];
  }
}

之后在MyViewController.m中这样写

 [self.driveService setUploadProgressBlock:^(GTLServiceTicket *ticket, unsigned long long numberOfBytesRead, unsigned long long dataLength) {
  NSLog(@"uploading");
 
}];

上面的 NSLog 永远不会因此而得到原谅,因为我无法获取上传的数据字节。通过调试我发现上传进度块_总是显示为零。可能是这个原因导致我的块处理程序没有被执行。

如果我在解决问题时犯了任何错误,请建议我。 如果有人有想法将数据字节上传到谷歌驱动器以获取文件,请建议我。您的建议对我的工作更有用。

提前致谢。

根据我们的建议综合回答:

下面是获取上传进度信息的代码

GTLServiceTicket *uploadTicket= [self.driveService executeQuery:query completionHandler:^(GTLServiceTicket *ticket,GTLDriveFile *updatedFile,NSError *error)
        {
            if (error == nil)
            {
                [self.delegate completedFileUploadingToGoogleDrive];
                NSError *fileDeletionError=nil;
                [[NSFileManager defaultManager] removeItemAtPath:absalutePath error:&fileDeletionError];
            } else
            {
                [self.delegate errorOccoredWhileUploadingToGoogleDrive:error];
            }
        }];
        
        [uploadTicket setUploadProgressBlock:^(GTLServiceTicket *ticket, unsigned long long totalBytesWritten, unsigned long long totalBytesExpectedToWrite) {
            [self.delegate uploadedFileInfoInKB:(float)totalBytesExpectedToWrite/1024 and:(float)totalBytesWritten/1024];
        }];

快乐编码!


我已成功使用上传块回调...将其分配给GTLServiceTicket你从获得的对象executeQuery方法。

Sample:

GTLServiceTicket *uploadTicket =  [self.driveService executeQuery:query  completionHandler:^(GTLServiceTicket *ticket,  GTLDriveFile *insertedFile, NSError *error) 
                                           { // completion 
                                           }];


        [uploadTicket setUploadProgressBlock:^(GTLServiceTicket *ticket, unsigned long long totalBytesWritten, unsigned long long totalBytesExpectedToWrite) 
         {
             // progress
         }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

永远不会在 ios 的 google API 中获取上传数据进度 的相关文章

  • 如何创建凸起的标签栏项目,就像 Instagram 中的那样?

    如何在 UITabBar 中创建凸起项目 例如 Instagram 有这样的 我如何在我的应用程序中实现类似的目标 iDevRecipes 最近发布了有关如何重新创建这一内容的文章 尽管它不是由 Instagram 的开发人员编写的 查看这
  • App Store Connect 上传错误“您尚未获得云管理分发证书的访问权限”

    使用 Xcode 将 iOS 应用程序上传到 App Store Connect 自动管理签名 并收到此错误 查找和生成签名资产时发生以下错误 与苹果通讯失败 您尚未获得云管理分发证书的访问权限 请联系您团队的帐户持有人或管理员以授予您访问
  • Dropbox iOS SDK 始终为 isLinked 返回“YES”:

    我正在使用 iOS Dropbox SDK 想要检查我的应用程序是否已与 Dropbox 帐户链接 所以我这样做 if self isLinked NSLog linked However self isLinked总是返回YES 即使在清
  • 如果我在新证书上续订我的配置文件(企业分发方法),我的应用程序是否会停止?

    我有一个通过企业分发方法发布的应用程序 分发证书将在一个月后过期 因此我创建了一个新证书 此外 我还根据具有相同捆绑 ID 和应用 ID 的新证书更新了配置文件 旧的配置文件将像旧证书一样在 1 个月后过期 我的应用程序是通过此配置文件和证
  • 从电话号码确定国际电话代码的算法

    我可以使用 iOS 上的地址簿框架从设备中检索联系人的电话号码 如何区分或识别哪个是国家 地区代码 哪个是实际电话号码 是否可以 国家 地区代码是一个相当混乱的主题 但足够标准 通过一些程序员维护就可以解决它 您可以通过其初始子序列来识别国
  • 如何在 Objective-C 中的导航栏中央添加图像?

    我正在IOS中开发 我使用以下代码来设置背景navigationBar self navigationController navigationBar setBackgroundImage UIImage imageNamed bar ba
  • 如何在 UIView 中获取父导航控制器

    我创建了一个UITabBarController在我的应用程序委托中 其中每个选项卡栏项目都有不同的UINavigationController加载自定义的UIViewController带NIB 使用 pushViewController
  • 新的自动引用计数机制如何工作?

    有人可以简单地向我解释一下 ARC 的工作原理吗 我知道它与垃圾收集不同 但我只是想知道它到底是如何工作的 另外 如果 ARC 的作用与 GC 的作用相同且不影响性能 那么 Java 为什么要使用 GC 为什么它不使用 ARC 呢 每个接触
  • IOS 无法从 Google Drive 获取文件

    这是我的代码 GTLQueryDrive query GTLQueryDrive queryForFilesList query q NSString stringWithFormat IN parents root self driveS
  • iOS Swift 多维数组 - 编译需要很长时间。我应该改变什么?

    我是斯威夫特的新人 以前从未使用过 ObjC 编程 我在使用 iOS 应用程序时遇到了问题 通过选择器查询数组非常简单 我有 4 个多维数组 如下所示 let Setting 0 0 0 0 0 0 2230 0 0 0 0 0 2230
  • 当应用程序从 iPhone 后台出现时,会调用什么方法?

    我知道当 iphone 应用程序进入后台时 会调用这些方法 void applicationDidEnterBackground UIApplication application void applicationWillResignAct
  • iOS 7 中的自定义后退指示器图像未垂直居中

    我使用以下代码在我的 iOS 7 应用程序中为后退指示器使用自定义图像 UIImage temp UIImage imageNamed back black on black normal 2 imageWithRenderingMode
  • “找不到开发者磁盘映像”

    最近我收到错误 找不到开发人员磁盘映像 我认为自从我将 iPhone 上的 iOS 更新到 9 1 后就会发生这种情况 如何解决该问题并使 Xcode 支持 iOS 9 1 设 备 Xcode 7 0 1 和 iOS 9 1 不兼容 您需要
  • 从iOS iphone中相机返回的图像中读取GPS数据

    我需要获取使用 iOS 设备相机拍摄的图像的 GPS 坐标 我不关心相机胶卷图像 只关心使用 UIImagePickerController SourceType Camera 拍摄的图像 我读过很多 stackoverflow 答案 比如
  • 管理 iOS 中的布局

    我是新来的iOS开发方面 我对 JAVA Swing 和 Windows 应用程序有扎实的背景 我想学习如何进行布局iOS 我猜iOS没有 布局管理器 就像 Java Swing 中的那样 发展的唯一出路UI是否指定每个控制器的尺寸和位置
  • 具有自定义视图的相机

    我的应用程序使用相机 我想在相机预览上添加叠加层 例如 我想在使用相机时使用相框 还想添加一个用于相机操作的自定义栏 请帮助我做同样的事情 您可能正在尝试使用 UIImagePickerController 但我知道这个可以解决你的问题 您
  • Xamarin Form - IOS:如何检测 UIView 大小已更改

    我使用 ContentView 创建了一个 Xamarin 表单 并为 Android 创建了一个渲染器 现在我必须为 IOS 创建一个渲染器 在 android 渲染器中 我可以重写 onSizeChanged 并将这些宽度 高度值传递给
  • FlurrySDK 与 cocoapods

    我正在尝试使用 Cocoapods 将 FlurrySDK 框架集成到我的应用程序中 正如我已经使用很多框架所做的那样 但由于某种原因 xcode 不断抛出此编译错误 Undefined symbols for architecture a
  • 在 Mobile Safari 中点击

    敲击
  • 如何更改 UILabel/UIFont 的字母间距?

    我已经搜索了很多 但找不到答案 我有一个普通的 UILabel 定义如下 UILabel totalColors UILabel alloc initWithFrame CGRectMake 5 7 120 69 autorelease t

随机推荐

  • 子视图的子层与更高的子视图重叠

    我有一个问题 我正在创建一个UIView这是从方法返回的 这部分很好 但我注意到 当我将子层添加到其中一个子视图时 这些层与子层添加的层次结构中较高的子视图 textView 和 imageView 重叠到testViewCopy出现在这些
  • 如何模糊视图

    I have a view having different colors I need to blur the background of that view for example There is LinearLayout in wh
  • 在express中root后通过可选参数传递路由控制?

    我正在开发一个简单的网址缩短应用程序 并有以下快速路线 app get function req res res render index link null app post function req res function makeR
  • jQuery 和所有 .js 文件无法在本地运行,只能在外部运行

    我有一个奇怪的问题 我正在编写一个网站 包括 jQuery 和一些插件 它们存储在 js 文件夹中 当我尝试通过浏览器 jQuery 打开它时 插件和所有自定义脚本都不起作用 也许这与我的代码有关 但不这么认为 当然 当我在外部包含 jQu
  • 如何查找boost运行时版本

    我正在编写一个使用 boost 的 C 库 在这个库中 我想包含有关用于编译我的库的二进制版本的 boost 版本的信息 我可以使用宏BOOST VERSION这很好 我还想确定哪个是 boost 的运行时版本 以便我可以与用于编译我的库的
  • 如何为 WordPress 创建子插件

    实际上我已经更改了 WordPress Store Locator 中的一些代码 我希望在插件更新时保留它 所以我想为此创建一个子插件 关于我如何管理它有什么想法吗 这因插件而异 有时甚至是不可能的 其他时候插件有文档可以轻松扩展它们 例如
  • Flash 图表和图形的最佳解决方案是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道融合图表 http www fusioncharts com 还有其他好的解决方案或 API 用
  • 构建一个简单的解析器,能够使用 PyParse 解析不同的日期格式

    我正在构建一个简单的解析器 它接受如下查询 显示 fizi 从 2010 年 1 月 1 日到 2006 年 2 月 11 日的提交 到目前为止我有 class QueryParser object def parser self stmn
  • 为什么 GCC 交叉编译不构建“crti.o”?

    在尝试为arm构建gcc 4 x x交叉编译器时 我陷入了缺失的困境crti o文件在 BUILD DIR gcc子目录 An strace在顶层Makefile表明编译后的xgcc正在调用交联器ld with crti o 作为一个论点
  • 沙盒测试帐户反复询问 iOS 应用内购买的密码

    我用 Swift 语言开发了一个应用程序 我添加了应用内购买来删除广告 我还创建了一个沙箱帐户来测试 但后来我忘记了这个账户的信息 我不确定信息 密码输入屏幕仍然以闪烁的屏幕显示方式显示 即使我重置设备并重新加载它 也没有任何好处 实际上一
  • 从 JSON 数组创建标记 php mySQL Google Maps v2 android

    我正在尝试从 mySQL 数据库在 Google Maps v2 上创建标记 但它不起作用 地图确实出现了 但没有标记 谁能告诉我出了什么问题以及我需要改变什么 我也尝试过让 getDouble 为 getDouble 0 和 getDou
  • ExpressJS - 提供通用 Nuxt 应用程序和 AngularJS SPA

    我有一个具有以下结构的博客项目 服务器 用 Node Express 编写 管理员 AngularJS SPA public AngularJS SPA 目前 管理部分和公共部分具有相同的域 但管理部分使用不同的子域 这允许我在 Expre
  • 如何在应用程序中创建会话对象

    在我的应用程序中 我想创建一个用于登录和注销的会话 我不知道如何使用会话 任何人都可以通过提供一些示例来帮助我 我认为会话对象应该是在应用程序开始运行时声明和初始化的静态对象 我遇到了这个问题 并决定将我的会话对象放入 utils 类中 该
  • 通过Python通过蓝牙发送消息或数据

    如何通过 python 通过蓝牙发送消息 而无需输入数字等密钥身份验证 我用过 pybluez 但我收到了这个错误 File send line 12 in
  • 使用 LLVM/Clang 忽略特定文件中的所有警告

    我的 iOS 项目中的一些文件有一些警告 我想忽略这些警告 我不想禁用整个项目中的警告 知道如何做到这一点 只是禁用一些特定文件 那么 有没有办法完全忽略特定文件中的所有警告呢 我在 Xcode 4 2 上使用 LLVM 3 0 和 Cla
  • 加权 Voronoi 的 CGAL 2D APOLLONIUS 图 - 如何生成和获取面和顶点?

    我正在尝试根据阿波罗尼乌斯图生成加权沃罗诺伊 我正在使用 CGAL 库 我找不到如何从 apollonius 获取面和顶点的好例子 我有以下类型定义 typedef double NT typedef CGAL Cartesian lt N
  • NHibernate Projections - 如何投影集合

    有一个场景 我只需要从实体中选择单个 几列 但在查询中选择多个子项 我一直在尝试投影 但在集合属性上出现错误 这是很正常的情况 但找不到有关投影集合的信息 仅属性 Customer customerAlias null Order orde
  • '用户“postgres”的密码验证失败'

    我已经安装了 PostgreSQL 8 4 Postgres 客户端和 Pgadmin 3 控制台客户端和 Pgadmin 的用户 postgres 身份验证失败 我输入了用户 postgres 和密码 postgres 因为它以前有效 但
  • 绘制具有数据子集的图层时,因子水平的顺序会发生变化

    我试图控制图例中项目的顺序ggplot2我查找了其他一些类似的问题 并发现了如何更改我正在绘制的因子变量的水平顺序 我正在绘制 12 月 1 月 7 月和 6 月 4 个月的数据 如果我只对所有月份执行一个绘图命令 它会按预期工作 图例中排
  • 永远不会在 ios 的 google API 中获取上传数据进度

    我在我的应用程序中使用 Google Drive API 从我的应用程序上传文件 到目前为止 我成功了 并找到了上传所有类型文件的良好结果 我跟着谷歌示例 https developers google com drive examples