小编zee*_*ple的帖子

SourceKitService消耗CPU并将Xcode研磨成停止

这不是Beta问题.我正在使用Xcode 6.0.1,即生产版本.我遇到的问题是,当我尝试构建或运行我正在处理的代码时,Xcode在很长一段时间内都没有响应,并且SourceKitService消耗了超过400%的CPU(根据Activity Monitor).这个问题在过去几天是新的,但奇怪的是,自从它于9月17日正式发布以来,我一直在使用Xcode 6.0.我升级到6.0.1,希望它能解决这个问题.

知道问题可能是什么?

iphone xcode ios sourcekit swift

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

存档期间的Bitcode编译永远不会完成

我正准备通过Test Flight进行临时分发的应用程序.我已经(成功)完成了这篇Ray Wenderlich文章中的所有准备步骤(https://www.raywenderlich.com/48750/testflight-sdk-tutorial),我对证书,App ID和供应配置文件均已正确创建且处于正常工作状态.我正处于您在Xcode中存档项目的步骤.我在归档过程中选择了这些设置:

我选择出口:

在此输入图像描述

我选择"Save for Ad Hoc deployment",因为我们的计划是使用Test Flight将应用程序分发给我们的测试人员.我做的认为这是正确的选项(而不是"为企业部署"):

在此输入图像描述

这是默认设置,我没有具体的理由进行更改,尽管我很感激您的任何见解:

在此输入图像描述

同样,这两者的默认选项.默认情况下,第一个未选中,默认情况下会检查第二个:

在此输入图像描述

当我到达这个屏幕时,旋转器看似永远旋转:

在此输入图像描述

问题似乎是,一旦它到达它从bitcode编译的部分,它旋转和旋转,并没有显示完成的迹象.当我构建应用程序以在连接到MBP的设备上运行时,它会快速编译,通常在几秒钟内完成.什么可能导致这种无反应?

archive ios bitcode

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

如何在Swift中访问深层嵌套的词典

我的应用程序中有一个非常复杂的数据结构,我需要操作它.我试图跟踪玩家在他们的花园中有多少种类型的错误.有十种类型的错误,每种错误有十种模式,每种模式有十种颜色.因此,可能有1000个独特的错误,我想跟踪玩家拥有的这些类型中的每一个.嵌套字典看起来像:

var colorsDict: [String : Int]
var patternsDict: [String : Any] // [String : colorsDict]
var bugsDict: [String : Any] // [String : patternsDict]
Run Code Online (Sandbox Code Playgroud)

我没有用这种语法得到任何错误或抱怨.

当我想增加玩家的bug收集时,这样做:

bugs["ladybug"]["spotted"]["red"]++
Run Code Online (Sandbox Code Playgroud)

我收到此错误: 字符串不能转换为'DictionaryIndex <String,Any>' ,错误的胡萝卜在第一个字符串下.

另一篇类似的帖子建议使用"as Any?" 在代码中,但该帖子的OP只有一个深度字典,所以可以很容易地用:dict ["string"]为Any?...

我不知道如何用多级字典做到这一点.任何帮助,将不胜感激.

dictionary nested swift

30
推荐指数
6
解决办法
4万
查看次数

UITextView中的文本自动滚动到底部

我认为它是ViewController中的标准UITextView,其中包含大量文本,足以使其不能全部适合屏幕.我想要发生的是,当加载该视图时,用户可以开始阅读文本的顶部,然后在页面进展时向下滚动页面.有道理,对吗?我想要的并不是不切实际的.

问题是当视图加载时,UITextView中的文本已经一直向下滚动到底部.我已经搜索过SO并且有很多类似的帖子,但其中没有一个解决方案可以解决我的问题.这是他查看控制器中的代码:

import UIKit

class WelcomeTextVC: UIViewController {

    var textString: String = ""

    @IBOutlet weak var welcomeText: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.navigationController?.navigationBar.translucent = false

        self.welcomeText.text = textString
        self.welcomeText.scrollRangeToVisible(NSMakeRange(0, 0))
    }

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(true)

        self.welcomeText.scrollRangeToVisible(NSMakeRange(0, 0))
        welcomeText.setContentOffset(CGPointMake(0, -self.welcomeText.contentInset.top), animated: true)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}
Run Code Online (Sandbox Code Playgroud)

我尝试过大多数标准解决方案都无济于事.我没有尝试过的一个常见建议是"取消选中属性检查器中的调整滚动视图插入".我没有尝试过的原因是因为我无法找到这个传说中的复选框.

我需要做什么才能使文本开始与顶部对齐?

uitextview ios swift

13
推荐指数
1
解决办法
6201
查看次数

触摸期间未检测到自定义SKSpriteNode

在学习SpriteKit时,我正在尝试制作一款小型冒险游戏.我正在创建一个英雄,并将其添加到场景中,然后,在此期间touchesBegan:,我检测到触摸是否源自英雄,并相应地采取行动.

如果我添加英雄作为SKSpriteNode触摸检测他.如果我把他添加为SKSpriteNode触摸的子类不!添加的区别:

_heroNode = [SKSpriteNode spriteNodeWithImageNamed:@"hero.png"];
Run Code Online (Sandbox Code Playgroud)

VS

_heroNode = [[ADVHeroNode alloc] init];
Run Code Online (Sandbox Code Playgroud)

init看起来像这样:

- (id) init {
    if (self = [super init]) {

        self.name = @"heroNode";
        SKSpriteNode *image = [SKSpriteNode spriteNodeWithImageNamed:@"hero.png"];
        [self addChild:image];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

将英雄添加为SKSpriteNode的子类可以将其添加到场景中,但触摸不会检测到他.我touchesBegan:看起来像这样:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    /* Called when a touch begins */

    UITouch *touch = [touches anyObject];
    CGPoint location = [touch locationInNode:self];
    SKNode *node = [self nodeAtPoint:location];
    if (YES) NSLog(@"Node name where touch began: …
Run Code Online (Sandbox Code Playgroud)

ios sprite-kit

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

无法在UserDefaults中设置非属性列表对象

我有一个简单的函数,我将一个对象保存到用户默认值,以便以后加载它,它看起来像这样:

func saveGame() {

    // hero is an instance of the class Hero, subclassed from SKSpriteNode
    UserDefaults.standard.set(hero, forKey: HeroObjectKey)
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

2017-03-13 21:15:33.124271 Castle [5405:5208658] [User Defaults]尝试设置非属性列表对象名称:'hero'纹理:['hero1.ico'(32 x 32)]位置:{0,0}缩放:{1.00,1.00}大小:{32,32} anchor:{0.5,0.5} rotation:0.00作为关键heroObjectKey的NSUserDefaults/CFPreferences值

这是因为我无法保存自己的自定义对象,还是不喜欢对象中的某些属性值?

注意:有一个非常类似的问题部分地解决了我的问题,但由于Swift3与他们使用的任何东西之间的差异,那里接受的答案对我不起作用.所以我会在这里提供答案.

swift3 userdefaults

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

无法在xcode4中将文件夹从一个项目拖动到另一个项目

我正在尝试使用facebook连接,你应该能够拖放文件夹但它在XCode 4中不起作用!有任何想法吗?

更新1/8/2017:在Xcode 8.2.1中仍然如此

iphone xcode4

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

无法从xcode 7推送到gitlab

升级到Xcode 7的一个不愉快的副作用是我不能再推送到我的Gitlab回购.在过去的两年里,我一直在推动和拉动我的项目,所以我怀疑Xcode 7正在做一些与众不同的事情.我通过Web界面登录和退出Gitlab验证了我的u/p.当我转到Xcode> Preferences> Accounts时,选择gitlab项目,我看到用户名和密码在那里(就像它们已经存在2年一样)并且我验证它们是正确的.

值得注意的是,我可以成功地从终端发布,但是,我不希望使用终端将我的代码定期推送到Gitlab.升级后有没有其他人遇到过这个问题?有关修复的任何建议吗?

我得到的具体错误是"身份验证失败,因为用户名或密码不正确".此错误出现在"帐户"对话框中,以及尝试执行推送到gitlab repo之后.

gitlab xcode7

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

找不到Facebook.h.

我正试图通过我离开亚马逊的Facebook SDK书籍.编码从#import "Facebook/Facebook.h" And 开始, 你几乎立即创建了一个Facebook对象.我的SDK中似乎没有任何此文件.这本书已经过时了吗?它刚刚于去年秋天发布......

xcode facebook ios

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

removeFromSuperview不适用于添加到SKScene的UIView

我在一个SKScene的视图中添加了一个UIView.后来,当我希望删除UIView表单的超级视图时,使用uiview.removeFromSuperview的标准方法似乎不起作用.我应该如何完成这个呢?以下是我添加UIView的方法:

func addContainerView() {

    let containerRect = CGRectMake(400, 24, 600, 720)
    smallerView = UIView(frame: containerRect)
    smallerView.backgroundColor = UIColor.redColor()
    self.view.addSubview(smallerView)
}
Run Code Online (Sandbox Code Playgroud)

以下是我尝试删除它的方法:

func removeContainerView() {

    smallerView.removeFromSuperview()
}
Run Code Online (Sandbox Code Playgroud)

这一切都发生在SKScene类中,所以这里'self'指的是那个场景.有什么想法吗?

uiview sprite-kit skscene swift

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