小编ben*_*_uk的帖子

Xcode 7存档大小很大

我之前一直在使用Xcode 6来编写我的Swift应用程序.我现在已升级到Xcode 7并升级了我的Swift语法.

以前,当我对我的应用程序进行存档时,我确信在查找器中查看时它的大小只有12MB​​左右.现在,它更大(112MB).

我现在已经在我的构建设置中禁用了捆绑包,正如其他一些帖子所建议的那样,这使归档文件降至74.9MB.

麻烦的是上传这些大文件的大小在我的互联网连接上变得非常沉重,并且需要很长时间才能通过Apple iTunes连接进行处理.

因为我使用Xcode 7,有没有办法减少存档的大小?

项目文件的屏幕截图

存档文件的屏幕截图

xcode archive ios swift xcode7

10
推荐指数
1
解决办法
3393
查看次数

导航栏按钮图像未显示在Swift中

我又回来了.

我正在使用Xcode 7在Swift中编写一个应用程序.我添加了一个导航控制器,并在其上添加了导航项,然后是一个条形按钮.我正在尝试将条形按钮的图像更改为我已导入Xcode的png.但是,它只是在设计中以及运行应用程序时显示了这一点.它只是在导航区域显示蓝色污迹.

栏按钮图像没有出现!

我已经尝试将图像导入到项目中,也尝试导入到具有相同结果的images.xcassets中.

谁知道这里可能有什么问题?

这是我一直试图添加的图像和我目前的设置.

我试图添加的图像

设置:

图像设置

xcode uibarbuttonitem ios swift

10
推荐指数
2
解决办法
5084
查看次数

读取BLE周边特性并检查其值?

我正在使用Swift在Xcode上编写一个连接到蓝牙BLE外设的应用程序.我已经建立了与设备的连接,并希望从特定特征中读取一些数据(特别是服务UUID FFF0中的FFF1).

如果我想查找信息的特征是characteristicx:我可以使用以下代码请求读取特征:

peripheral.readValueForCharacteristic(charactericsx)
Run Code Online (Sandbox Code Playgroud)

我想知道的是:我如何检查这个读取值是我正在寻找的.我希望能够执行if语句来检查我的值与该特征的已发现值.

例如:如果发现值为X则执行某些操作,否则如果发现的值为Y则执行其他操作.

这不是我想要做的很好的解释,但我希望你能得到主旨.

有谁知道怎么做这个?

bluetooth ios core-bluetooth swift

8
推荐指数
1
解决办法
1万
查看次数

标签背景在Swift中选择行时删除了颜色

我的Swift应用程序遇到了一个奇怪的问题.我正在尝试创建一个UITableViewCell使用我创建的自定义单元格.

我在单元格中有一个空标签和一个文本标签.通过设置backgroundColor一些R,G,B颜色,可以简单地对空标签进行着色.

但是,当我在表格中选择和取消选择行时,标签的背景颜色会消失.这种情况发生,直到我将单元格滚出视图并再次返回视图,然后再次向我显示颜色.

这里有一些截图来说明发生了什么:

这是在选择颜色之前的样子 在选择颜色之前

这是我选择颜色时的样子 - 它似乎将标签背景颜色更改为透明.它不应该这样做 选择一种颜色

这是我选择不同颜色时的样子 - 颜色保持透明/白色 选择另一种颜色

当然,我不希望这种情况发生.目的是使标签颜色保持不变.

这是我的代码 cellForRowAtIndexPath

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! ScenesTableCell
    cell.sceneNameLabel.text = scenesArr[indexPath.row].sceneName
    let red = scenesArr[indexPath.row].sceneCol[0]
    let green = scenesArr[indexPath.row].sceneCol[1]
    let blue = scenesArr[indexPath.row].sceneCol[2]
    let brightness = scenesArr[indexPath.row].sceneBrightnessMultiplier
    cell.colourIndicatorLabel.layer.backgroundColor = UIColor(red: CGFloat(red), green: CGFloat(green), blue: CGFloat(blue), alpha: CGFloat(brightness)).CGColor
    cell.colourIndicatorLabel.layer.cornerRadius = 5
    cell.colourIndicatorLabel.layer.borderWidth = 1
    cell.colourIndicatorLabel.layer.borderColor = UIColor(red: 77.0/255.0, green: 146.0/255.0, blue: 203.0/255.0, alpha: 1.0).CGColor …
Run Code Online (Sandbox Code Playgroud)

colors uitableview custom-cell ios

5
推荐指数
1
解决办法
843
查看次数

在Swift中使用WriteValue发送十六进制字符串

我一直在使用XCode和Swift创建一个应用程序以连接到蓝牙设备(已连接LED色带),并且编写了一段代码来使其变色。

使用蓝牙嗅探器,我知道我需要发送“ 52130056FF000000AA”的值,在此示例中,它将使其变为红色。这是我已经编写的代码的一部分。Characteristicx在此代码之前定义。

let data: NSData = "52130056FF000000AA".dataUsingEncoding(NSUTF8StringEncoding)!
peripheral.writeValue(data, forCharacteristic: characteristicx, type: CBCharacteristicWriteType.WithoutResponse)
Run Code Online (Sandbox Code Playgroud)

这段代码将转换为此给出的十六进制字符串,我不想发送该字符串。'<35323133 30303536 46463030 30303030 4141>'

所以,问题是,如何让Swift将52130056FF000000AA仅发送到BLE设备,而不发送到转换后的字符串?这里的问题是writeValue命令需要NSData(据我所知),我不确定如何使用纯十六进制字符串作为以NSData形式发送的数据。

希望有人可以帮忙!任何帮助甚至建议,将不胜感激。

bluetooth nsdata ios core-bluetooth swift

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

更改可变产品上的缺货文本

我正在使用 Woocommerce 创建一个 Wordpress 网站,并使用可变产品。我知道如何更改产品变体的缺货文本,但我想知道当我根本没有添加变体时如何更改缺货文本(即将产品类型设置为可变产品并添加无变体)。

目前,默认显示的文本是:“该产品目前缺货且不可用。”

我将如何更改该文本?

示范

woocommerce hook-woocommerce

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

使用 Alamofire 5 和 responseDecodable 函数解码错误响应

我正在使用 Alamofire 5(测试版 1)为 WooCommerce 编写 API 客户端,这将允许我获取订单、优惠券等以及创建它们。注意我正在使用新.responseDecodable功能。

我已经使用以下performRequest函数设置了我的 API 客户端,如下所示:

@discardableResult
private static func performRequest<T:Decodable>(route: APIConfiguration,
                                                decoder: JSONDecoder = JSONDecoder(),
                                                completion: @escaping (Result<T>)->Void) -> DataRequest {
    return AF.request(route)
        .responseDecodable(decoder: decoder) { (response: DataResponse<T>) in
            completion(response.result)
    }
}
Run Code Online (Sandbox Code Playgroud)

这很有效,因为例如,我可以调用一个函数getCouponForId(_ id: Int),该函数将执行此函数并通过完成处理程序返回响应。

唯一的缺点是,假设用户尝试访问不存在的优惠券,他们将收到错误(来自服务器的 404)。我可以打开结果以确定 asuccessfailurecase,但 Alamofire 尝试将错误响应的主体解码到Coupon我创建的模型中。

展望未来,我创建了一个错误模型,我打算使用它来解码错误。但是话虽如此,我在将它实现到这个函数中时遇到了麻烦。

有没有人对我如何处理这个有任何想法?

(我通过遵循本指南创建了此功能 - 希望它可以为我正在做的事情提供更多背景信息。https://github.com/AladinWay/NetworkingExample

alamofire

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