标签: xcode8

XCode 8签约产品

我刚刚更新到XCode 8,我正在使用一个旧项目(可能是在XCode 6或更早版本中创建)问题是(即使在模拟器中)XCode在步骤签名产品中至少停留了一半或一分钟.

使用XCode 7,设备中的应用程序启动非常快,并且没有任何签名产品阶段.

有没有办法让这个过程更快?

因为XCode包含新的功能来帮助您管理签名,我尝试在以下位置停用此功能:自动管理签名.我还有同样的问题.

我也试过XCode 8.1 Beta

任何的想法?

谢谢

code-signing xcode8

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

如何在xcode 8中设置CURRENT_PROJECT_VERSION

自从升级到Xcode 8后,当我使用fastlane进行构建时,我收到以下错误消息:

__PRE__

如果我转到Xcode> Build Settings并转到Versioning,则会有一个Current Project Version键,如下所示:

版本控制的屏幕截图

帮助文本表示输入整数或浮点数,但是当我单击该字段时,没有机会在Debug或Release字段中输入数字.这与苹果技术问答中显示的屏幕截图不同,因此自问答发布以来,Xcode似乎发生了变化.

xcode8

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

xcode使用buildscript添加嵌入式二进制文件

我从第三方那里得到了一个动态框架,该框架由于缺少符号而无法在链接器阶段基于X86_64的拱门上进行编译,我已要求他们反复将此框架与框架捆绑在一起,但直到现在他们仍无法这样做。

现在我的问题是以下内容,无论如何我都找不到使用构建设置添加阶段嵌入式二进制阶段的过程,在构建/链接器过程中嵌入式二进制文件如何链接到应用程序?

我知道,如果这样做的话,我可能不得不从框架中删除拱门,但这比不能编译框架要好得多。

xcode build-settings ios xcode8

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

如何在Xcode 8中使用CoreData?

我正在尝试使用CoreData,但是当我将它添加到我的项目中时,我只获得了两个新方法:

- (NSPersistentContainer *)persistentContainer
Run Code Online (Sandbox Code Playgroud)

- (void)saveContext
Run Code Online (Sandbox Code Playgroud)

现在我无法使用旧的方法CoreData,我找不到任何有这些新方法和Objective-C的教程.如何CoreData使用persistentContainerObjective-c在Xcode 8中保存和获取数据?

core-data objective-c nsmanagedobjectcontext swift xcode8

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

Swift 3.0编译器和Sourcekitservice内存分配

我刚刚在我的iOS swift 3项目中遇到了一个陌生人的问题.

场景:

我有一个列表os对象,objets有一个属性,你可以看到如下:

var total: Double {
    var sum = 0.0
    for item in self.products! {
        sum += item.price ?? 0
    }
    return sum
}
Run Code Online (Sandbox Code Playgroud)

在同一个类中存在另一个名为distance的属性:

var distance: Double?
Run Code Online (Sandbox Code Playgroud)

当我找到距离的最大值时,我的项目编译工作正常,如下所示:

let minDistance = est?.max(by: { (e1, e2) -> Bool in
    return e1.distance! < e2.distance!
})
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试找到最大值prive时,我的项目编译变得太慢并且在swift和sourcekitservice进程中消耗了大量内存(更多40 GB).

let maxValue = est?.max(by: { (e1, e2) -> Bool in
    return e1.total < e2.total
})
Run Code Online (Sandbox Code Playgroud)

当我使用if let块时,它可以正常工作:

if let e = est {
    let minDistance = e.max(by: { (e1, e2) -> …
Run Code Online (Sandbox Code Playgroud)

ios swift3 xcode8

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

ERROR ITMS-90596:"无效的捆绑包.无法读取'Payload/Limon chilli.app/Assets.car'中的资产目录

在将ipa文件上传到应用程序加载程序时,我遇到了这种类型的错误.我正在使用sierra 10.12.1和x-code Version 8.1(8B62).怎么解决这个?

ERROR ITMS-90596: "Invalid Bundle. The asset catalog at 'Payload/Limon
chilli.app/Assets.car' can't be read. Try rebuilding the app with a non-beta 
version of Xcode and submit it again."
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios10 xcode8

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

更新Xcode 8核心数据NSManagedObject子类更改的Objective C项目的正确方法

我从编码中休息了几个月然后回来发现CoreData与Xcode8/iOS10/macOS Sierra的变化.

我一直试图在Objective C中围绕新的NSManagedObject子类生成,但网上的内容很少.在我开始屠宰我的项目并完全搞砸了之前,我需要澄清一些事情,首先,我发现的一些事情可能对其他人有用...

事情在哪里

自动生成的文件深埋在DerivedData文件夹中.查看USER-> Library-> Developer-> Xcode-> DerivedData-> ProjectName-lotsOfRandomLetters-> Build然后继续打开文件夹,直到找到DerivedSources-> CoreDataGenerated.

自动生成的文件不会出现在项目文件夹或导航器中,但如果一个Xcode中存在错误,则会显示源代码.

Xcode生成的东西

有三种codegen设置 - 手动/无,类定义和类别/扩展.

当实体codegen设置为manual/none(这是旧行为)时使用Editor-> Create创建NSmanagedObject子类NSManagedObject Subclass在项目中生成4个文件...

实体+ CoreDataClass.h和实体+ CoreDataClass.m和实体+ CoreDataProperties.h和实体+ CoreDataProperties.m

(以前的版本Xcode 7生成了Entity.h,Entity.m,Entity + CoreDataProperties.h和Entity + CoreDataProperties.m文件)

如果实体的codegen设置为Class Definition,Xcode会在派生数据文件夹中自动生成这4个相同的文件 - 而不是项目.然后这些文件会标记一条注释,告诉您不要更改它们.

如果实体codegen设置为Category/Extension,Xcode将生成2个文件.这些文件标有注释,告诉您不要更改它们.这些是...

Entity + CoreDataProperties.h和Entity + CoreDataProperties.m

这两个文件期望Entity.h文件在项目中,如果不存在则会在Xcode中显示错误.这是您有一次能够在Xcode中查看其中一个文件的来源.

什么是这些文件

+ CoreDataProperties文件看起来与生成以前版本的Xcode生成文件的文件相同,只有一个添加.它们包含实体/ NSmanagedObject的所有属性/属性以及处理具有一对多或多对多关系的实体的方法.新增加的是fetchRequest子类化NSmanageObject的新fetchRequest方法的方法.

问题

1)当您没有任何额外的属性/功能添加到NSManagedObject子类时,类定义现在是codegen的明显和最佳选择,因为它会自动为您更新文件(当您使用cmd -s保存项目时) ?

2)使用+ CoreDataClass命名文件遵循类的类别约定,这意味着应该有一个类作为扩展.

假设Entity + CoreDateClass .h/m文件是旧Entity.h/m文件的直接替换,我是否正确?并且它实际上不是一个类别,尽管文件名?

3)对于新的NSManagedObject子类,我应该导入Entity + CoreDataClass.h而不是Entity.h吗?

4)如果我想通过删除大部分NSManagedObject子类文件来整理我的项目,我只是删除Xcode中的文件并将实体codegen设置为Class Definition或...

当你尝试#import entity.h或者我必须经历并查找#import entity.h的每个引用并将它们更改为#import entity + CoreDataClass.h时,是否存在寻找实体+ CoreDataClass的魔法? ?

5)我是否正确地假设如果我想要一个NSManagedObject子类我要添加一个属性和一个方法,我应该将codegen设置为Category/Extension?

6)如果我选择Category/Extension我必须创建自己的NSmanagedObject子类文件,它只是entity.h而不是entity + CoreDataClass.h?

7)如果entity + …

core-data objective-c nsmanagedobject ios10 xcode8

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

在未找到标头错误中创建新的构建配置结果

在Xcode中,我创建了一个新的Staging构建配置.我复制了Release配置来实现它.这些ReleaseDebug配置都很好.当我选择Staging配置时,我最终会遇到标题问题.我已经检查了构建设置,以确保所有三个配置具有相同的标头搜索路径.

作为一个重要的侧面说明,我所拥有的几个相互引用的库之间会出现问题.

具体来说,我正在使用一个名为CodePush的库,它引用了React库,如下所示:

#if __has_include("RCTEventEmitter.h")
    #import "RCTEventEmitter.h"
#else
    #import "React/RCTEventEmitter.h"
#endif 
Run Code Online (Sandbox Code Playgroud)

哪个RCTEventEmitter.h文件处于tern状态#import <React/RCTBridge.h>,而RCTBridge文件中找不到头文件的来源.

我正在使用react native 0.40和react-native-code-push 1.16.1-beta.

关于可能导致问题的任何想法.如果您需要更多信息,请告诉我,我很乐意提供.我想提一下,我不相信这是图书馆的问题,而是我的设置.我怀疑这只是编译器命中的第一个库.

xcode ios react-native xcode8

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

为SKScene创建一个自定义的initalizer,它会覆盖便利init?(fileNamed :)

我正在尝试创建一个方便初始化程序来覆盖convenience init? (fileNamed:)SKScene中的初始化程序,以便我可以将一些初始值传递给场景,同时还取消归档.sks文件.问题是,当我尝试这样做时,似乎SKScene(GameScene)的子类无法看到convenience init? (fileNamed:)超类的子类.以下是我的一些尝试:

Class GameScene : SKScene {

var stage : Int?

override init(size: CGSize) {
    super.init(size: size)
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

convenience init?(fileNamed: String, stage: Int) {
    self.init(fileNamed: fileNamed)  // Compiler error-- Argument labels '(filenamed:)' do not match any available overloads
    self.stage = stage
}
Run Code Online (Sandbox Code Playgroud)

我发现的另一个尝试建议作为解决方法:

Class GameScene : SKScene {

var stage : Int?

override init(size: CGSize) {
    super.init(size: size)
}

required init?(coder aDecoder: …
Run Code Online (Sandbox Code Playgroud)

initialization sprite-kit swift swift3 xcode8

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

"构建设置"中的"Objective-C Bridging Header"条目未出现在Xcode 8.3中

我需要将一些Objective-C库的文件添加到我的项目中,并且我MyProject-Bridging-Header.h自己创建了该文件.但是现在我无法设置其路径,因为在项目的构建设置中我找不到该Objective-C Bridging Header条目.

有人经历过同样的事吗?我该怎么解决这个问题?

objective-c build-settings ios swift xcode8

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