小编Gle*_*enn的帖子

Cocoapods iOS - [!]谷歌已被弃用 - 如何摆脱警告?

我做的步骤:

  1. pod repo remove master

  2. pod setup

  3. pod update --verbose (只是为了检查进度,特别是在更新Google SDK时,需要很长时间才能完成).

在那里,我得到了警告.在我的日志中,Google SDK已成功更新:

- >安装Google 3.1.0(原为3.0.3)

- >安装GoogleMaps 2.3.0(原为2.2.0)

Podfile:

target 'MyProj' do

    ...
    pod 'Google/Analytics'
    pod 'GoogleMaps'
    ...
    target 'MyProjTests' do
        inherit! :search_paths
    end

    post_install do |installer|
        installer.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '3.0'
            end
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想知道如何摆脱这个警告.

ios cocoapods

40
推荐指数
2
解决办法
9586
查看次数

Firebase消息传递中的"错误:使用未声明的类型MessagingDelegate"

我最近更新了我的firebase消息传递盒,并按照Firebase的快速入门指南执行必要的升级更改.

我添加了新的extension AppDelegate : MessagingDelegate扩展程序,但遇到了一些错误.

在此输入图像描述

ios appdelegate swift3 firebase-notifications

12
推荐指数
3
解决办法
4586
查看次数

获取ListView中选择的Item的索引

我已经搜索了大约一个小时,但找不到最佳解决方案.我正在从VB.NET迁移到C#Forms和C#WPF.没关系......所以我将此代码用于C#表单并且它可以工作,但不能在C#WPF中使用

 if (ListView1.SelectedItems.Count > 0)
            {
                for (lcount = 0; lcount <= ListView1.Items.Count - 1; lcount++)
                {
                    if (ListView1.Items[lcount].Selected == true)
                    {
                        var2 = lcount;
                        break;
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

这是我想要获取列表框中单击项目的索引的方式.我在.SELECTED中有错误

请帮忙.

c# indexing wpf listview

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

Swift 4:不推荐使用“ init”。CountableRange现在是范围

我有这个String类别:

extension String {

    subscript (i: Int) -> String {
        return self[Range(i ..< i + 1)]
    }

    subscript (r: Range<Int>) -> String {
        let range = Range(uncheckedBounds: (lower: max(0, min(count, r.lowerBound)),
                                            upper: min(count, max(0, r.upperBound))))
        let start = index(startIndex, offsetBy: range.lowerBound)
        let end = index(start, offsetBy: range.upperBound - range.lowerBound)
        return String(self[start ..< end])
    }
}
Run Code Online (Sandbox Code Playgroud)

Xcode在此行给我警告: return self[Range(i ..< i + 1)]

不建议使用“ init”:CountableRange现在是Range。无需再转换了。

遗憾的是,即使我对Swift很有经验,但我也不知道如何解决此问题。问题是:如何摆脱这种警告。

谢谢!

swift

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

Pod Spec Lint CoreSimulator检测到Xcode.app重定位或CoreSimulatorService版本更改

命令pod spec lint失败.我在SO和Cocoapod的回购中找不到类似的问题.完整日志:

- > GPKit(0.1.1) - ERROR | [iOS] unknown:遇到未知错误(757:意外令牌在'2017-08-17 16:12:08.932 simctl [55281:678990] CoreSimulator检测到Xcode.app重定位或CoreSimulatorService版本更改.框架路径(/ Applications/Xcode) .app/Contents/Developer/Library/PrivateFrameworks/CoreSimulator.framework)和版本(375.21)与现有作业路径不匹配(/Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/A/XPCServices/com.apple.CoreSimulator. CoreSimulatorService.xpc)和版本(459.13).在验证期间尝试删除陈旧服务以添加预期版本.').

分析了1个podspec.

[!]由于1错误,规范没有通过验证.

对此有何解决方案?为什么会这样?

ios cocoapods

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

如何在Moya中添加参数?

所以我一直在研究Gary Tokman的教程来构建一个餐厅查看应用程序,它非常棒。从开始到结束,一切都进展顺利。

目的是更改或添加参数并包括“术语”或“类别”。现在,这会将搜索更改为特定企业,而不仅仅是餐馆。

这就是我陷入困境的地方,我似乎找不到执行此参数的正确语法。

这是业务端点文档:https ://www.yelp.com/developers/documentation/v3/business_search

这些是 swift 文件的代码

网络服务文件

import Foundation
import Moya

enum YelpService {
enum BusinessesProvider: TargetType {
    case search(lat: Double, long: Double)
    case details(id: String)

    var baseURL: URL {
        return URL(string: "https://api.yelp.com/v3/businesses")!
    }

    var path: String {
        switch self {
        case .search:
            return "/search"
        case let .details(id):
            return "/\(id)"
        }
    }

    var method: Moya.Method {
        return .get
    }

    var sampleData: Data {
        return Data()
    }

    var task: Task {
        switch self {
        case …
Run Code Online (Sandbox Code Playgroud)

ios swift moya

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

Xcode 8.1 Not Autocompleting类型别名回调

Xcode(版本8.1(8B62))这样做真的很奇怪,没有帮我自动完成回调,让我举个具体的例子:

看到照片,当我双击或输入建议的回调,这是SingleRequestCallBack,Xcode应该给我一个块.但事实并非如此.相反,Xcode只是完成了FirebaseSingleRequest.SingleRequestCallBack的语句,如果你双击建议的回调,Xcode会在你的编辑器中给你一个错误报告,并使所有代码变白.

这也发生在Firebase库中,甚至在UIViewController函数中(例如dismiss).见第二个截图.

在此输入图像描述

在此输入图像描述

我已经做过的步骤:

  1. 清理并清理项目的构建.
  2. 重启Xcode
  3. 关闭机器.

所以问题是:如何解决这个问题?是什么导致这个问题?

xcode ios swift

5
推荐指数
0
解决办法
138
查看次数

iOS 11的自动排版结果不同吗?

我在此项目中使用情节提要。我一直在寻找这种布局错误的元凶(见图),但找不到。这里是一些更详细的信息。

  1. 使用iPhone 7plus iOS 11调试应用程序时,我使用的是Xcode 9.0 Beta 2

  2. iOS版本的iPhone 7plus是iOS 11 Beta 9。在撰写本文时,我正在安装iOS 11Beta 10

  3. 我的侧面菜单库在iPhone 7plus(相同的OS版本)中也存在布局错误!但是,当从TestFlight或App Store下载该应用程序时,该布局错误将永远不会出现,但是在这种情况下,视图仍停留在tabBar下。

  4. 在iOS 11以下的两个设备中,布局都是完美的。在iOS 10的iPhone 7plus模拟器中,布局也是完美的。撰写本文时,我正在使用iOS 11的iPhone 7plus模拟器构建项目

  5. 我试图切换界面生成器中的所有内容,例如在不透明的条下等等。

  6. 我确实为情节提要中的某些视图添加了一些不同的颜色,以便使用Xcode轻松调试视图。确实,在iOS 11中,视图位于tabBar下方,而在iOS 10中则不在。

这里可能是什么问题?

在此处输入图片说明

更新:

  • 将照片中的视图视为普通视图UIView。没有scrollView,没有tableView。只是一个UIView,没什么特别的,不是可滚动的。

    1. Xcode 9.0 Beta 2的iPhone7plus模拟器布局完美。
    2. 我已将iPhone7plus手机更新为iOS 11 Beta 10,并且布局仍然相同。

xcode storyboard ios autolayout ios11

5
推荐指数
0
解决办法
1174
查看次数

第一个元素标记空列表字符串.崩溃只发生在生产中

所以我一直把头发拉过这个神秘的问题(至少对我而言).它只发生在App Store上.我尽力检查我的BookingViewModel代码,我确信那里应该没有崩溃,所以我做了一些清理,然后上传了一个新版本到TestFlight,并再次发生崩溃.

这是Fabric's Crashlytics的崩溃日志的屏幕截图:

在此输入图像描述

和一段堆栈跟踪:

#0. Crashed: com.apple.main-thread
0  libswiftCore.dylib             0x103e70314 swift_unknownRelease + 24
1  libswiftCore.dylib             0x103e37b5c swift_arrayDestroy + 68
2  libswiftCore.dylib             0x103c308c0 (Missing)
3  libswiftCore.dylib             0x103e40f04 swift_unownedCheck + 88
4  appname                        0x102940848 BookingViewModelBookingViewModelBooking first-element-marker  empty-list String (BookingViewModel.swift:167)
Run Code Online (Sandbox Code Playgroud)

最后,来自我的代码BookingViewModel有崩溃日志中描述的第167行(我已经编辑了这个问题的代码,我删除了一些行,但是这个想法仍然存在,也是为了使代码简短):

init(_ booking: Booking, withCompleteInfoCompletion completeInfo: @escaping BookingViewModelCompleteInfoCompletion) {
        let createdDate = booking.createdAt ?? ""
        let username = booking.username ?? ""
        let firstName = booking.firstName ?? ""
        let lastName = booking.lastName ?? ""
        let age = …
Run Code Online (Sandbox Code Playgroud)

ios swift

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

什么时候可以删除convertToUIApplicationOpenExternalURLOptionsKeyDictionary辅助函数?

去年我迁移到Swift 4.2时,Swift 4.2迁移器在我的某些控制器中添加了一个辅助函数:

// Helper function inserted by Swift 4.2 migrator.
fileprivate func convertToUIApplicationOpenExternalURLOptionsKeyDictionary(_ input: [String: Any]) -> [UIApplication.OpenExternalURLOptionsKey: Any] {
    return Dictionary(uniqueKeysWithValues: input.map { key, value in (UIApplication.OpenExternalURLOptionsKey(rawValue: key), value)})
}
Run Code Online (Sandbox Code Playgroud)

什么时候可以安全移除?

ios swift

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