标签: xcode8-beta6

关闭使用非转义参数可能允许它逃脱

我有一个协议:

enum DataFetchResult {
    case success(data: Data)
    case failure
}

protocol DataServiceType {
    func fetchData(location: String, completion: (DataFetchResult) -> (Void))
    func cachedData(location: String) -> Data?
}
Run Code Online (Sandbox Code Playgroud)

通过示例实现:

    /// An implementation of DataServiceType protocol returning predefined results using arbitrary queue for asynchronyous mechanisms.
    /// Dedicated to be used in various tests (Unit Tests).
    class DataMockService: DataServiceType {

        var result      : DataFetchResult
        var async       : Bool = true
        var queue       : DispatchQueue = DispatchQueue.global(qos: .background)
        var cachedData  : Data? = nil

        init(result …
Run Code Online (Sandbox Code Playgroud)

closures swift swift3 xcode8-beta6

108
推荐指数
2
解决办法
5万
查看次数

xcode 8推送通知功能和权利文件设置

使用时xcode 8做推送通知设置,不像xcode 7,xcode 8需要推送通知功能切换开发商转(位于TARGETS -> AppName -> Capabilities如下图), 推送通知功能

然后它将生成AppName.entitlements文件,如下所示

//AppName.entitlements
<key>aps-environment</key>
<string>development</string>
Run Code Online (Sandbox Code Playgroud)

但对于生产版App,如果我们将字符串更改为

//AppName.entitlements
<key>aps-environment</key>
<string>production</string>
Run Code Online (Sandbox Code Playgroud)

然后功能显示警告

能力警告

似乎无论在aps-environment中指定了哪个字符串值,我们仍然可以获得推送设备令牌 application:didRegisterForRemoteNotificationsWithDeviceToken:

那么推送通知权利的正确设置是什么?谢谢

push-notification ios10 xcode8 unnotificationrequest xcode8-beta6

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

Swift 3 UnsafePointer($ 0)不再在Xcode 8 beta 6中编译

我的代码snipet如下......:

    let defaultRouteReachability = withUnsafePointer(to: &zeroAddress) {
        SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
    }
Run Code Online (Sandbox Code Playgroud)

...不再使用以下错误编译,我不明白:

"'init' is unavailable: use 'withMemoryRebound(to:capacity:_)' to temporarily view memory as another layout-compatible type."
Run Code Online (Sandbox Code Playgroud)

该怎么做才能修复它?

unsafe-pointers swift3 xcode8-beta6

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

Xcode8.0 Beta 6 - 无法从设备读取

我刚刚将Xcode 8.0从beta 4升级到beta 6,当我尝试在我的设备上构建应用程序时,我收到此消息"无法从设备读取".任何想法可能是什么问题?

ios10 xcode8-beta6

56
推荐指数
4
解决办法
2万
查看次数

Xcode 8执行完整的项目重建

将Swift + ObjC项目更新到Xcode 8(Swift 2.3)后,我发现50%或更多的时间Xcode完全重建项目而不是增量构建.

所做的更改是添加简单的打印语句.似乎没有关于何时执行完全重建的逻辑.

它出现在"检查依赖关系"阶段,它决定了这一点.在Xcode 7上,这似乎不是问题.

有人遇到过这种情况么?

swift xcode8 xcode8-beta6

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

如何在不更新macOS的情况下安装Xcode 9?

有没有人有任何想法安装Xcode 8或Xcode 9而不更新macOS?

我想将我的Xcode 7.1更新为Xcode 8或Xcode 9(或9.1)Beta.

但它不允许我直接在OS X Yosemite 10.10上更新.

我现在不想将我的操作系统更新到El Capitan,那么如何在OS X Yosemite 10.10上安装Xcode 8.

xcode8 xcode8-beta6 xcode9 xcode9.1-beta

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

application(_:didFinishLaunchingWithOptions :)'几乎匹配可选要求

安装Xcode 8 beta 6后,我收到一条警告说:

实例方法'application(_:didFinishLaunchingWithOptions :)'几乎匹配协议'UIApplicationDelegate'的可选要求'application(_:didFinishLaunchingWithOptions :)'

在我的App代表中.

有2个建议的修正来使警告静音:

  1. 将该方法标记为私有
  2. 将@nonobjc添加到方法中

做任何一个都会使警告静音.但为什么需要这样做呢?

ios swift swift3 xcode8-beta6

27
推荐指数
1
解决办法
7419
查看次数

"不能从非公开课继承"迅捷

从Xcode 8 beta 6开始,我现在得到编译错误"无法从其定义模块之外的非开放类(Class)继承"

我继承的类是一个单独的Swift框架的一部分,但我的项目是为Xcode 8 beta 5编译的.我需要更改什么才能使我的项目再次编译?

swift xcode8-beta6

26
推荐指数
2
解决办法
9772
查看次数

AnyObject无法在Xcode8 beta6中运行?

在Xcode8 beta6中,以下代码将引发警告:'is'test始终为true.但它不会打印通过.

    struct TestStruct {
    }

    //warning: 'is' test is always true
    if TestStruct() is AnyObject {
        print("pass")
    }
Run Code Online (Sandbox Code Playgroud)

以下代码将引发警告:从'T'到'AnyObject'的条件转换始终成功

public static func register<T>(_ protocolType: T.Type, observer: T) {

    //Warning: Conditional cast from 'T' to 'AnyObject' always succeeds
    guard let object = observer as? AnyObject else {
        fatalError("expecting reference type but found value type: \(observer)")
    }
    //...
}
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swift3 xcode8-beta6

24
推荐指数
2
解决办法
1781
查看次数

Xcode 8 beta 6:main.swift无法编译

我们有一个自定义的UIApplication对象,所以我们的main.swift是

import Foundation
import UIKit

UIApplicationMain(Process.argc, Process.unsafeArgv, NSStringFromClass(MobileUIApplication), NSStringFromClass(AppDelegate))
Run Code Online (Sandbox Code Playgroud)

这在Xcode 8 beta 5中不起作用,所以我们使用了这个

//TODO Swift 3 workaround? https://forums.developer.apple.com/thread/46405
UIApplicationMain( Process.argc, UnsafeMutablePointer<UnsafeMutablePointer<CChar>>(Process.unsafeArgv), nil, NSStringFromClass(AppDelegate.self))
Run Code Online (Sandbox Code Playgroud)

在Xcode 8 beta 6上,我们使用未解析的标识符'Process'

我们需要在Xcode 8 beta 6/Swift 3中做些什么才能定义UIApplicationMain?

xcode program-entry-point swift swift3 xcode8-beta6

23
推荐指数
2
解决办法
6755
查看次数