标签: xcode8

使用断点进行调试时Xcode 7.3崩溃

我只是安装了Xcode 7.3版本.我根本无法调试,因为当我在调试时尝试使用断点时它会崩溃.我尝试删除Derive Data,重新启动我的macbook,重新安装pods ......但遗憾的是没有任何工作.有人有同样的问题吗?

进程:Xcode [2631]路径:/Applications/Xcode.app/Contents/MacOS/Xcode标识符:com.apple.dt.Xcode版本:7.3(10183.3)Build Info:IDEFrameworks-10183003000000000~2 App Item ID:497799835 App External ID:816750016代码类型:X86-64(Native)父进程:??? [1]负责人:Xcode [2631]用户ID:502

日期/时间:2016-03-22 17:35:16.678 +0000操作系统版本:Mac OS X 10.11.4(15E65)报告版本:11匿名用户:352BCE12-8AEF-A28A-B5F1-214B55269668

自启动以来的时间清醒:2500秒

系统完整性保护:已启用

Crashed Thread:30 Dispatch queue:DVTInvalidationPreventionQueue

异常类型:EXC_BAD_ACCESS(SIGSEGV)异常代码:KERN_INVALID_ADDRESS位于0x0000000000000000异常注意:EXC_CORPSE_NOTIFY

VM区域接近0: - > __TEXT 00000001021a4000-00000001021a8000 [16K] rx/rwx SM = COW /Applications/Xcode.app/Contents/MacOS/Xcode

特定于应用程序的信息:ProductBuildVersion:7D175

全球跟踪缓冲区(逆时间秒):14.418349 DTXConnectionServices 0x000000010454fc3a发起信道x1.c2能力642d65677561672d 766f72702d617461 654e2e7372656469 6174536b726f7774 0073636974736974 14.419261 DTXConnectionServices 0x000000010454fc3a发起756265642e65646f 2d65677561672d67 6f72702d61746164 702e737265646976 006f666e69636f72 71.740178 CFNetwork的0x00007fff8d398447 TCP康恩0x7fe21e691b50 SSL握手DONE 72.390183 CFNetwork的0x00007fff8d398323 TCP信道x1.c1能力Conn 0x7fe21e691b50启动SSL协商72.390333 CFNetwork 0x00007fff8d396ced TCP Conn 0x7fe21e691b50完成.FD:50,ERR:0 72.390574 CFNetwork的0x00007fff8d4255c7 TCP康恩0x7fe21e691b50事件1 ERR:0 72.582281 CFNetwork的0x00007fff8d395fbf TCP康恩0x7fe21e691b50开始72.628957 CFNetwork的0x00007fff8d359c42创建默认Cookie存储与处理/捆标识符72.628957 CFNetwork的0x00007fff8d359bda断裂作用在CFHTTPCookieStorage单72.628976 CFNetwork的0x00007fff8d359a69断裂作用在NSHTTPCookieStorage singleton 72.650686 CFNetwork …

xcode xcode7 xcode8

41
推荐指数
1
解决办法
6112
查看次数

Xcode 8中的单元测试失败

每次在Xcode 8中运行单元测试时,都会收到此错误消息

Validation for xctestrun file failed:
(
    "For these test runs, UITargetAppPath should be provided"
)
Run Code Online (Sandbox Code Playgroud)

xcode objective-c ios xcode8

41
推荐指数
1
解决办法
7540
查看次数

无法chmod用户/ Library/Developer/CoreSimulator/Devices没有这样的文件或目录

当我尝试在iPhone 6模拟器中运行我的应用程序时,我收到以下错误.我正在使用Xcode 8.1任何一个请帮我理解这个问题

在此输入图像描述

iphone ios ios10 xcode8 xcode8.1

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

Xcode8中的NSPhotoLibraryUsageDescription

更新:
我尝试将一个字符串值添加到"NSPhotoLibraryUsageDescription"键.
在此输入图像描述

它的工作原理.我的TestFlight现在提供了构建版本.

在此输入图像描述 ps:构建版本是指构建版本

但是我想知道为什么Apple Store只让我为"NSPhotoLibraryUsageDescription"key而不是"Camera Usage Description"或者添加String值"Location When In Use Usage Description"?以及如何本地化info.plist.


:
我已经将许多构建版本上传到iTunes Connect.But TestFlight没有显示这些构建版本.
然后我在stackoverflow上搜索这个问题.我知道这是由使用说明引起的.我在Info.plist中添加了 NSPhotoLibraryUsageDescription.但是,Apple Store团队发送电子邮件告诉我:

亲爱的开发者,

我们发现您最近为"家庭健康追踪器"发送的一个或多个问题.要处理您的交付,必须纠正以下问题:

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSPhotoLibraryUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.

一旦纠正了这些问题,您就可以重新更新已更正的二进制文件.

问候,

App Store团队

他们仍然告诉我添加NSPhotoLibraryUsageDescription

这是我的Info.plist

itunesconnect testflight ios10 xcode8

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

ios10:viewDidLoad框架宽度/高度未正确初始化

自升级到XCode8 GM和ios10以来,通过Interface Builder创建的所有视图都没有正确初始化,直到比预期要晚得多.这意味着在viewDidLoad,cellForRowAtIndexPath,viewWillAppear等中,每个视图的帧大小都设置为{1000,1000}.在某些时候他们似乎是正确的,但它为时已晚.

遇到的第一个问题是全面的角落圆角失败:

view.layer.cornerRadius = view.frame.size.width/2
Run Code Online (Sandbox Code Playgroud)

对于依赖于帧大小在代码中进行计算的任何事情,都会出现进一步的问题.

cellForRowAtIndexPath 
Run Code Online (Sandbox Code Playgroud)

对于cellForRowAtIndexPath,帧大小在初始表显示时失败,但滚动后它可以正常工作.willDisplayCell:forRowAtIndexPath也没有正确的帧大小.

我已经对一些值进行了硬编码,但显然这是非常糟糕的代码实践,在我的项目中也是如此.

有没有办法或地方获得正确的框架尺寸?

编辑

我发现使用高度/宽度约束而不是帧宽高度更可靠.这可能会增加需要大量新IBOutlet的开销,以链接项目的高度/宽度约束.

现在我已经创建了一个UIView类,它允许我在没有IBOutlets的情况下直接访问View的高度/宽度约束.对于最小的使用,小循环不应该是一个大问题.对于没有明显创建宽度/高度约束的IB项目,不能保证结果.可能最好为常数返回0,或者更糟.此外,如果您没有高度/宽度约束,并且您的视图基于前导/尾随约束动态调整大小,则这将不起作用.

-viewDidLoad似乎具有正确的帧大小,但如果您在此处进行修改,通常会导致UI的可视更改.

UIView的+ WidthHeightConstraints.h

@interface UIView (WidthHeightConstraints)

-(NSLayoutConstraint*)widthConstraint;
-(NSLayoutConstraint*)heightConstraint;
-(NSLayoutConstraint*)constraintForAttribute:(NSLayoutAttribute)attribute;

@end
Run Code Online (Sandbox Code Playgroud)

UIView的+ WidthHeightConstraints.m

#import "UIView+WidthHeightConstraints.h"

@implementation UIView (WidthHeightConstraints)

-(NSLayoutConstraint*)widthConstraint{
    return [self constraintForAttribute:NSLayoutAttributeWidth];
}
-(NSLayoutConstraint*)heightConstraint {
    return [self constraintForAttribute:NSLayoutAttributeHeight];
}
-(NSLayoutConstraint*)constraintForAttribute:(NSLayoutAttribute)attribute {
    NSLayoutConstraint *targetConstraint = nil;
    for (NSLayoutConstraint *constraint in self.constraints) {
        if (constraint.firstAttribute == attribute) {
            targetConstraint = constraint;
            break;
        }
    }
    return targetConstraint;
}

@end
Run Code Online (Sandbox Code Playgroud)

编辑2

事实证明,上述类别只是部分有效.主要是因为ios似乎自动添加一些额外的高度/宽度约束重复项,类型为NSContentSizeLayoutConstraint,实际上与普通约束的大小不同.NSContentSizeLayoutConstraint也是一个私有类,所以我不能做isKindOfClass来过滤掉那些.我还没有找到另一种有效测试的方法.这很烦人.

objective-c frame autolayout ios10 xcode8

40
推荐指数
3
解决办法
7665
查看次数

Xcode 8中的多行注释

我刚刚升级到Xcode GM 8.0并注意到⌘+ /没有评论选定的行.还有另一个命令来注释掉Xcode 8中的多行吗?

xcode8

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

Swift中没有'CGAffineTransformIdentity'

尝试将一些动画调整为Swift3语法时遇到此错误.

 UIView.animate(withDuration: duration, delay: 0.0, usingSpringWithDamping: 0.5, 
 initialSpringVelocity: 0.8, options: [] , animations: {
        fromView.transform = offScreenLeft

        toView.transform = CGAffineTransformIdentity

        }, completion: { finished in
            transitionContext.completeTransition(true)              
    })
Run Code Online (Sandbox Code Playgroud)

得到了这个:

Swift中没有'CGAffineTransformIdentity'

swift3 xcode8

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

对于Swift 3的"数据"类型,是否存在writeToFile等价物?

我有一些代码返回新的iOS 10/Swift 3 NSData替换(?)类型:数据

if let jpegData = UIImageJPEGRepresentation(newImage, 0.8) { ... }
Run Code Online (Sandbox Code Playgroud)

我想将此映像写入磁盘,但writeToFile:此类不存在NSData的方法.它确实有一个writeToURL:方法,但似乎不适用于文件路径(和附加组件).

任何人都可以澄清我现在将如何做到这一点,就像Swift 2中的情况一样:

jpegData.writeToFile(imagePath, atomically: true) 
Run Code Online (Sandbox Code Playgroud)

谢谢!

nsdata swift swift3 ios10 xcode8

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

Xcode-beta 8.无法创建核心数据

我一直在尝试添加核心数据.每次我得到同样的错误:

error: filename "EntityName +CoreDataClass.swift" used twice: '/Users/userName/Desktop/Development/MyApp/AppName/EntityName +CoreDataClass.swift' and '/Users/userName/Library/Developer/Xcode/DerivedData/AppName-dgwzrmxsetzvtedibxrazuutjwnh/Build/Intermediates/AppName.build/Debug-iphoneos/AppName.build/DerivedSources/CoreDataGenerated/Model/EntityName +CoreDataClass.swift'
Run Code Online (Sandbox Code Playgroud)

我使用以下步骤添加核心数据:
1.New file/DataModel; 将它保存在我的项目的根目录中,
选择Model.xcdatamodeld并添加实体,添加几个属性,保存,编辑/创建NSManagedObjectClass子类.

因此,我在导航器中观察到4个新文件:Model.xcdatamodeld,EntityName + CoreDataProperties.swift,EntityName + CoreDataClass.swift,_COREDATA_DATAMODELNAME_ + CoreDataModel.swift

他们的内容: _COREDATA_DATAMODELNAME_ + CoreDataModel.swift:

import Foundation
import CoreData

___COREDATA_DATAMODEL_MANAGEDOBJECTCLASSES_IMPLEMENTATIONS___
Run Code Online (Sandbox Code Playgroud)

EntityName + CoreDataClass.swift:

import Foundation
import CoreData


class EntityName: NSManagedObject {

}
Run Code Online (Sandbox Code Playgroud)

实体名称+ CoreDataProperties.swift:

import Foundation
import CoreData

extension EntityName {

    @nonobjc class func fetchRequest() -> NSFetchRequest< EntityName > {
        return NSFetchRequest< EntityName >(entityName: "EntityName");
    }

    @NSManaged var str: String?

}
Run Code Online (Sandbox Code Playgroud)

我尝试过:
1.清理构建,删除DerivedData,删除var /文件夹的内容,重启
2.删除生成的文件,在导航器中显示

我所有的努力都没有运气. …

core-data ios swift xcode8

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

在xcode 8 Swift 3中输入'Any'没有下标成员

我的应用程序应该去特定的位置来下载它需要加载的网站.在2.3它的工作就像一个魅力,但因为我已经更新了xcode(我没有很多经验)它给我错误"类型'任何'没有下标成员"并突出显示"json"就在第三行之前

...Retriever = json["WEB"]...
Run Code Online (Sandbox Code Playgroud)

这是与之相关的代码.

let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments)

      if let Retriever = json["WEB"] as? [[String: AnyObject]] {

                 for website in Retriever {

                    if let name = website["URL"] as? String {

                          self.loadAddressURL(name)
Run Code Online (Sandbox Code Playgroud)

我觉得我错过了一些小事.如果有更好的方法,我会喜欢建议.URL返回此JSON

{
  "WEB" : [
           {
            "URL" : "http://www.google.com"
           }    
          ]
}
Run Code Online (Sandbox Code Playgroud)

但如果我能简化它,我会喜欢它

{"URL":"http://www.google.com"}
Run Code Online (Sandbox Code Playgroud)

json ios swift swift3 xcode8

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