标签: xcode8

在swift 3和向后兼容性中DISPATCH_TIME_NOW

根据@matt 使用的这个精彩答案dispatch_after,我在操场上尝试了代码,它工作正常(没有错误).但是,当我尝试执行向后兼容时DispatchTime.now(),iOS 10只有这样才可用:

func delay( _ delay: Double, closure: () -> ()){
    guard #available(iOS 10, *) else {
        dispatch_after(
            dispatch_time(
                DISPATCH_TIME_NOW,
                Int64(delay * Double(NSEC_PER_SEC))
            ),
            dispatch_get_main_queue(), closure)
        return
    }
    let when = DispatchTime.now() + delay
    DispatchQueue.main.after(when: when, execute: closure)
}
Run Code Online (Sandbox Code Playgroud)

编译器提供修复DISPATCH_TIME_NOWto Replace "DISPATCH_TIME_NOW" with "dispatch_time_t(DISPATCH_TIME_NOW)"并抛出错误说

无法将'Int'类型的值转换为预期的参数类型'dispatch_time_t'(又名'UInt64')

我尝试修复它,因为编译器提供但最终导致更多错误.我应该如何在这里使用向后兼容性?我在做什么错了?请帮助,谢谢!

ios swift swift3 xcode8

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

绝对值函数abs()在Swift 3.0中不可用.使用abs(_ :)免费功能?

我正在使用Xcode 8 Beta 4将Swift iOS项目转换为Swift 3.0.绝对值函数显示为不可用.这是一个代码示例......

let myInt = -3
let myAbsoluteInt = abs(myInt)
Run Code Online (Sandbox Code Playgroud)

第二行导致错误说明:'abs' is unavailable: Please use the 'abs(_:)' free function.

想法?

ios swift swift3 ios10 xcode8

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

bundleIdentifier!= nil通过UNUserNotificationCenter.current()请求iOS10通知授权.requestAuthorization

我正在崩溃说我的捆绑ID是零

2016-08-31 10:39:11.630 WeatherHop [52533:17767791] *由于未捕获的异常'NSInternalInconsistencyException'而终止app,原因:'无效的参数不满足:bundleIdentifier!= nil'*第一次抛出调用堆栈:

它使用此代码失败:

        let bundleIdentifier = Bundle.main.bundleIdentifier

    print("\(bundleIdentifier)")
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
        if granted {
        }....
Run Code Online (Sandbox Code Playgroud)

print语句正确标识我的包ID,在$(PRODUCT_BUNDLE_IDENTIFIER)中设置

知道我为什么会收到这个错误吗?

ios ios10 xcode8

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

Xcode 8错误:无法解析调试映射:没有这样的文件或目录

我只是在之前的工作版本7上安装了新的Xcode 8.我尝试构建一个现有的ObjC应用程序并获得了持久的链接器错误:

 error: cannot parse the debug map for "/Users/--- 
 Library/Developer/Xcode/DerivedData/Sunset3-
 dejxrzrmfgomxxcrzloplmsozads/Build/Products/Debug-
 iphonesimulator/Sunset3.app/Sunset3": No such file or directory
Run Code Online (Sandbox Code Playgroud)

搜索,以前的修复程序在这里不起作用:

1) Reboot after install
2) Xcode Clean Project
3) Turn off bitcode build options
4) for good measure, I tried targeting into 9.0, 9.3, 10.0 - no difference in outcome
5) Also tried three different simulator targets
Run Code Online (Sandbox Code Playgroud)

对日志的进一步评估显示了一个未被前一个IDE标记的dup对象:

duplicate symbol _sharedPlaceDate in:
/Users/irampil/Library/Developer/Xcode/DerivedData/Sunset3-dejxrzrmfgomxxcrzloplmsozads/Build/Intermediates/Sunset3.build/Debug-iphonesimulator/Sunset3.build/Objects-normal/x86_64/ViewController.o
/Users/irampil/Library/Developer/Xcode/DerivedData/Sunset3-dejxrzrmfgomxxcrzloplmsozads/Build/Intermediates/Sunset3.build/Debug-iphonesimulator/Sunset3.build/Objects-normal/x86_64/GraphClass.o
Run Code Online (Sandbox Code Playgroud)

ld:1个用于体系结构x86_64 clang的重复符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)

在XCode8中创建的de novo ObjC项目编译和链接就好了.关于修复重复对象的其他想法?

linker-errors xcode8

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

URLResourceValue和setResourceValues Swift 3

我试图找出如何使用Swift 3进行狐狸修复代码.

let paths = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true) as NSArray

for path in paths {
    let dir = path as! String
    print("the paths are \(path)")
    let urlToExclude = NSURL.fileURL(withPath: dir)
    do {

        try urlToExclude.setResourceValue(NSNumber(value: true), forKey: URLResourceKey.isExcludedFromBackupKey)

    } catch { print("failed to set resource value") }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是 这个

我使用上面的代码来排除备份到iCloud的文件,它曾经适用于以前版本的Swift,但在更新到Xcode 8之后,我只是卡住了.

我真的很感激任何帮助或建议.

nsurl ios swift3 ios10 xcode8

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

第一次点击按钮时不播放segue的自定义动画

我遇到了一个不寻常的行为,我被卡住了一点,问题如下.

我正在使用BWWalkthrough库,以便将4张幻灯片作为启动画面.所以在我的appdelegate中,我有以下代码初始化viewcontrollers:

let storyboard = UIStoryboard(name: "SlidesFlow", bundle: nil)

let walkthrough = storyboard.instantiateViewController(withIdentifier: "SlidesView") as! BWWalkthroughViewController
let page_zero = storyboard.instantiateViewController(withIdentifier: "page_1")
let page_one = storyboard.instantiateViewController(withIdentifier: "page_2")
let page_two = storyboard.instantiateViewController(withIdentifier: "page_3")
let page_three = storyboard.instantiateViewController(withIdentifier: "page_4")

walkthrough.delegate = self
walkthrough.addViewController(page_zero)
walkthrough.addViewController(page_one)
walkthrough.addViewController(page_two)
walkthrough.addViewController(page_three)
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作,所以这里没问题.在viewController page_three上我有一个按钮,使用自定义segue动画将我重定向到另一个视图控制器

class sentSegueFromRight: UIStoryboardSegue {

override func perform()
{
    let src = self.source as UIViewController
    let dst = self.destination as UIViewController

    src.view.superview?.insertSubview(dst.view, aboveSubview: src.view)
    dst.view.transform = CGAffineTransform(translationX: src.view.frame.size.width, y: 0)

    UIView.animate(withDuration: 0.25,
                               delay: 0.0,
                               options: UIViewAnimationOptions.curveEaseInOut, …
Run Code Online (Sandbox Code Playgroud)

ios segue uistoryboardsegue swift3 xcode8

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

Xcode在特定项目上崩溃

当我试图打开一个特定的项目时Xcode它崩溃了这个错误消息(部分):

Process:               Xcode [729]
Path:                  /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:            com.apple.dt.Xcode
Version:               8.1 (11544)
Build Info:            IDEFrameworks-11544000000000000~4
App Item ID:           497799835
App External ID:       819397000
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Xcode [729]
User ID:               501

Date/Time:             2016-11-06 18:39:39.261 +0200
OS Version:            Mac OS X 10.12.1 (16B2555)
Report Version:        12
Anonymous UUID:        E3BEFD49-5451-DC5B-81D3-2BD8B1F4987F


Time Awake Since Boot: 140 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception …
Run Code Online (Sandbox Code Playgroud)

xcode xcode8

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

启动时无限循环viewDidAppear

我必须重构一个App并在框架中移动遗留代码.

我已完成迁移的第一部分.但是当我启动我的应用程序时,我在第一个屏幕上有一个无限循环

在此输入图像描述

默认的ViewController是一个简单的UIViewController,没有自定义类.

xcode ios firebase xcode8

8
推荐指数
0
解决办法
691
查看次数

时间分析器在Xcode中缺少记录设置,显示设置

我使用的是仪器8.3.2,检查器窗口中缺少"记录设置和显示设置"选项卡.如何获取这些标签?请参阅随附的屏幕截图.

仪器Xcode 8

普通检查员窗口如下所示(参见箭头5):

仪器Xcode 7

xcode instruments ios xcode-instruments xcode8

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

如何在Xcode 8.3中删除过期的配置文件

我想手动删除过期的配置文件,但我不想删除所有配置文件.我想添加新的配置文件,但在新的Xcode 8.3.2中,我只能看到证书,如果我通过双击直接添加配置文件,我该如何检查配置文件的日期.

ios provisioning-profile xcode8

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