小编zir*_*isp的帖子

故事板中的自定义单元格行高度设置没有响应

我正在尝试调整表格视图中其中一个单元格的单元格高度.我正在从相关单元格的"尺寸检查器"中的"行高"设置中调整大小.当我在iPhone上运行应用程序时,单元格的默认大小设置为表格视图中的"行大小".

如果我更改表视图的"行大小",则所有单元格的大小都会更改.我不想这样做,因为我只想要一个单元格的自定义大小.我已经看到很多帖子都有针对该问题的程序化解决方案,但我更愿意通过故事板来实现,如果可能的话.

storyboard uitableview ios ios5 xcode4.2

211
推荐指数
10
解决办法
11万
查看次数

Xcode 9,迦太基.iTunes Connect错误:"无效的捆绑包 - 不允许的LLVM工具"

今天我下载了Xcode 9并对我的应用程序进行了必要的更改以进行编译.该应用程序正在本地编译和运行,没有任何问题.

使用Xcode 9我将其上传到App Store.上传成功,没有任何错误.

然后我从Apple发来以下电子邮件:

亲爱的开发者,

我们发现了您最近交付的"KiteSpotter - Kitesurf风和天气预报"中的一个或多个问题.要处理您的交付,必须纠正以下问题:

无效的捆绑包 - 不允许的LLVM工具.不要提交启用了LLVM配置文件检测或coverage集合的应用程序.关闭LLVM配置文件或代码覆盖率,重建您的应用程序并重新提交应用程序.

一旦纠正了这些问题,您就可以重新更新已更正的二进制文件.

问候,

App Store团队

我去了我的目标和可可豆荚目标的代码覆盖率,这是我能找到的唯一相关设置:

在此输入图像描述

重新提交应用程序,我收到同样的错误.

在我的项目中,我使用的是Carthage,它有超过15个依赖项.在寻找解决方案时,我发现所有项目都需要使用上述设置进行更新.

  • 是否有任何解决方案可以自动为所有框架设置此设置,如果这导致问题.
  • 有没有其他人遇到过这个问题并将其整理出来.迦太基框架是否会产生问题或其他问题?

xcode itunesconnect ios carthage xcode9

28
推荐指数
2
解决办法
3558
查看次数

iOS 11从UITableView或UIScrollView获取visibleHeight和contentInset

在iOS 10之前

如果我想得到一个表或滚动视图的可见高度,我不得不从tableview的高度减去顶部和底部插入

let tableView = ....
let height = tableView.frame.size.height - tableView.contentInset.top - tableView.contentInset.bottom
Run Code Online (Sandbox Code Playgroud)

iOS 11

不幸的是,在iOS 11上使用上述方法,我得不到正确的值.

经过一些调试后,我意识到顶部插入是0.0,而不是导航栏的高度.

ios swift swift4 ios11

8
推荐指数
2
解决办法
6515
查看次数

保持活跃在iOS上无法正常工作

我目前正在开发一个应用程序,我们需要一些请求才能尽快访问我们的服务器。为了加快请求过程,我们必须消除握手(这需要花费额外的时间)并建立永久连接。

该应用程序使用Alamofire框架向我们的服务器发出所有请求,并且设置如下:

我们有一个使用默认配置和http标头设置的会话管理器。

lazy var sessionManager: Alamofire.SessionManager = {
    let configuration = URLSessionConfiguration.default
    configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
    let manager = Alamofire.SessionManager(configuration: configuration)
    return manager
}()
Run Code Online (Sandbox Code Playgroud)

会话管理器对所有请求都是持久的。每个请求使用以下代码进行:

self.sessionManager.request(request.urlString, method: request.method, parameters: request.parameters)
            .responseJSON { [weak self] response in
    // Handle the response
}
Run Code Online (Sandbox Code Playgroud)

request.urlString是我们服务器的网址“ http://ourserver.com/example

request.method设置为post

request.parameters是参数字典

该请求运行正常,我们收到了有效的回复。该问题出现在存活计时器上,该计时器由我们的服务器设置为300秒。该设备在wifi上最多可保持30秒的连接,并通过GSM几乎立即将其关闭。


服务器调试

我们在服务器上进行了一些调试,发现以下结果

测试:

测试1:

  • iPhone通过WiFi连接到Internet

测试2:

  • iPhone通过3G连接到Internet

行为:

  • 两种情况:应用程序使用“连接:保持活动”向Web服务器发出HTTP / 1.1请求;服务器(服务器ip = 10.217.81.131)响应为“保持活动:超时= 300,最大值= 99”
  • 客户端(测试1-WiFi上的应用程序)在30秒发送TCP FIN并关闭连接
  • 客户端(测试2 – 3G上的应用程序)从其第一个HTTP POST收到HTTP / 1.1 OK消息后立即发送(零秒)TCP FIN请求

测试1在服务器端登录:

  1. 在23.101902,应用程序通过“连接:保持活动”向服务器发出HTTP / 1.1 POST请求 在此处输入图片说明

  2. 在23.139422,服务器通过“连接:保持活动”和“超时= 300”(300秒)响应HTTP …

xcode ios nsurlsession swift alamofire

6
推荐指数
1
解决办法
4750
查看次数

离线使用.Flutter Hamilton应用程序架构.写入节点并期望云功能更新数据库,然后监听更新UI

以下引用来自Google Developer Blog.https://developers.googleblog.com/2017/08/hamilton-app-takes-stage.html

例如,当有人进入抽奖时,应用程序首先将数据写入实时数据库中的特定节点,数据库的安全规则有助于确保数据有效.write触发Cloud Function,它运行业务逻辑并将其结果存储到Realtime Database中的新节点.然后,新写入的结果数据将自动推送到应用程序.

我理解,他们不是发出请求而是期待请求,而是遵循以下模式:

  1. 写入实时数据库
  2. 写入触发动作
  3. 该动作触发了一些逻辑和功能
  4. 该函数将数据写回数据库
  5. 应用程序上的监听器会收到有关写入4的数据的通知.
  6. 应用程序更新UI或采取任何操作.

汉密尔顿应用程序遵循这种模式,当有人进入竞争对手的票.我对该模式的主要关注是,如果连接处于脱机状态,我们将无法获得结果,同时我们也不会收到错误.更改将在本地更新,firebase将在下次连接时更新,这将使事情变得混乱,因为用户期望得到结果.

我想知道是否有一个简单的方法或模式可以遵循,所以我们将得到一个错误并显示它.

我想到的第一个解决方案是以某种方式在保存操作上添加时间.如果在x秒内未在实时数据库上进行保存,则会显示错误.与此同时,我们还需要在回复时超时.因此,如果我们在x秒内没有收到回复,我们会向用户显示一些内容.

我希望我不会感到困惑,因为我不太了解这种模式.我努力争取冠军头衔,所以如果有人能改进,请成为我的客人.

dart firebase flutter google-developer-tools

6
推荐指数
1
解决办法
365
查看次数

选择外部存储时,iPhone Core Data Migration会导致二进制数据丢失

我想添加一个新模型.新模型将具有一个新实体以及从当前实体到新实体的关系.我创建了新模型并将其设置为当前模型.虽然一切正常,我可以访问新实体,但一些"二进制数据"条目为零.

我尝试添加映射模型然后进行迁移,但结果是一样的.存储的"二进制数据"是UIImage.正在迁移一些小缩略图.没有正在迁移全尺寸UIImages.

我在想,也许自动存储在外部的实体(由于它们的大小)没有被迁移.

UPDATE

我构建了一个存储图像集的小项目.我试图创建一个新模型,一切正常.然后我将新项目与旧项目进行比较,唯一的区别是"允许外部存储".我在新项目上选择了这个选项,创建了一个新模型并且图片丢失了.

migration core-data ios

4
推荐指数
1
解决办法
1110
查看次数

迦太基,Xcode 9。“尝试读取 *.xcodeproj 时 xcodebuild 超时”错误

今天我下载了 xCode 9 并开始将所有内容转换为 Swift 3.2/4,这样我就可以构建和运行我的项目。

正如预期的那样,迦太基会抱怨某些项目无法构建,因为它们与 Swift 3.2/4 不兼容。我必须找到兼容的版本并构建它们。

我还必须使用 --no-use-binaries,因为某些框架是使用以前版本的 Swift 预编译的。

然后我收到以下错误:

尝试读取 AWSiOSSDKv2.xcodeproj 时 xcodebuild 超时

到目前为止,我可能没有收到此错误,因为我正在下载预编译的 AWS 框架。现在迦太基必须在本地编译它,缺少某些东西并导致超时。

xcode ios aws-sdk carthage xcode9

2
推荐指数
1
解决办法
2036
查看次数