我正在将Xcode 7/Swift 2.2 mac OS X项目迁移到Xcode 8/Swift 3,我在我的视图控制器类MyViewController中使用undoManager遇到了一个问题,它有一个函数undo.
在Xcode 7/Swift 2.2中,这很好用:
undoManager?.prepareWithInvocationTarget(self).undo(data, moreData: moreData)
undoManager?.setActionName("Change Data)
Run Code Online (Sandbox Code Playgroud)
在Xcode 8/Swift 3中,使用https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html中推荐的模式
这应该改为:
if let target = undoManager?.prepare(withInvocationTarget: self) as? MyViewController {
target.undo(data, moreData: moreData)
undoManager?. setActionName("Change Data")
}
Run Code Online (Sandbox Code Playgroud)
但是,向MycastController的向下转换始终失败,并且未注册撤消操作.
我错过了一些明显的东西,或者这是一个错误?
在调试模式下,我试图查看变量的值,但它没有显示任何内容.我用Xcode8.一起使用Objective - C和Swift分类.我没有objective-C部分问题,我可以清楚地看到价值观.我阅读了很多帖子和答案,但没有一个帮助我.我尝试在Swift编译器中设置优化级别=无BuildSettings.还尝试将o2和-O0添加到其他linker flags.我检查了编辑方案,它处于调试模式.所以我卡住了.顺便说一句,如果我用快速语言创建项目,我可以看到变量的值.提前致谢.
当我创建一个版本来测试我的iPhone xcode 8崩溃时,当我重新打开xcode时突然发现这个错误来自于无处.
命令/Applications/Xcode.app/Contents/Developer/usr/bin/ibtool失败,退出代码255的工具可能已经坠毁.请在http://bugreport.apple.com上使用上述输出提交错误报告,并附上ibtool,ibtoold,Xcode和Interface Builder Cocoa Touch Tool在此失败时创建的所有崩溃日志.这些日志可以在〜/ Library/Logs/DiagnosticReports或/ Library/Logs/DiagnosticReports中找到.
任何人都可以告诉我如何解决这个问题.
我正在使用Xcode 8.0,Swift 3.
我今天正在制作显示文字和图片的扩展程序,但经常导致此消息,今天扩展程序不起作用.很少工作.
程序以退出代码结束:0
我在领域保存数据,今天使用数据扩展(字符串,图像)
它是否会导致内存限制?所以,我怎么能贬低关于今天扩展的记忆?
我的扩展代码:
class Information: Object {
dynamic var Name = ""
dynamic var Image : NSData?
override class func primaryKey() -> String {
return "Name"
}
}
class TodayViewController: UIViewController, NCWidgetProviding {
var realm : Realm?
var results : Results<Information>?
var index = 0
@IBOutlet var NameLabel: UILabel!
@IBOutlet var ImageView: UIImageView!
@IBAction func leftAction(_ sender: UIButton) {
guard index == 0 else {
index -= 1
loadData(index: index)
return
}
}
@IBAction func …Run Code Online (Sandbox Code Playgroud) 我正在使用XCode 8.2.1.我刚刚了解了颜色配置文件,并且RGB值不是通用的.但仍然无法理解如何在代码中使其正确.在Interface Builder中,我为标签选择了预定义的"深灰色".通用RGB配置文件中为(85,85,85).同样在代码中我将另一个标签颜色设置为[UIColor darkGrayColor].我希望它们具有相同的颜色,但它们是不同的.
我用的方法
- (BOOL)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha
Run Code Online (Sandbox Code Playgroud)
获取RGB值.对于在IB中设置颜色的标签,我看到实际上(104,104,104)的值对应于当切换到设备RGB配置文件时IB中的值.所以似乎在代码中使用了设备RGB配置文件.
所以我的问题是:
我想将我的 Xcode 项目移动到不同的团队/开发人员帐户并使用相同的应用程序/捆绑包 ID。我尝试在新帐户的 Apple 开发人员中心中创建应用程序 ID,但收到一条错误消息,指出应用程序 ID 不可用,这是意料之中的。
我的 Xcode 项目已Automatically manage signing勾选。我在项目当前关联的帐户的开发人员中心内的应用程序 ID 列表中看不到项目的捆绑包标识符。Xcode 管理的应用程序 ID 存储在哪里?如何删除?
在引入自动管理签名之前,我确实已经成功做到了这一点,只需从原始 iOS 开发者帐户中删除 App ID 并在新帐户上手动重新注册即可。
编辑:需要明确的是 - 该应用程序尚未提交到应用程序商店,它仍处于开发阶段。
我以前一直在使用OpenGL profiler for mac来调试我的图形工作,它就像xcode 7.2的魅力一样.
然后,当它出现时,我将xcode升级到版本8,并且分析器已经消失了.我重新加载它,但是因为我无法记录任何跟踪或在任何断点处停止,因此也无法再检查任何资源.
在为xcode 7.2开发之后,目前还没有分析器.有没有办法使用最后一个OpenGL探测器与xcode 8.x?
提前致谢.
我正在尝试使用 TeamCity 为我的 iOS 应用程序设置自动化测试。目前,我的代理正在构建,但是一旦构建了最后一个目标并运行 codesign,它就会挂起并显示以下内容:
[19:29:34][CodeSign] CodeSign /var/root/Library/Developer/Xcode/DerivedData/MyProductiOS-fgkoogiimhlbckdlbckzmqfyaoff/Build/Products/Debug-iphonesimulator/MyProductiOSUITests-Runner.app/PlugIns/MyProductiOSUITests.xctest
[19:29:34][CodeSign] cd /Users/ericmiller/.tcagent/work/f9abef315a0137d4
[19:29:34][CodeSign] export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
[19:29:34][CodeSign] export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/ericmiller/.pyenv/shims:/Users/ericmiller/.rbenv/shims:/Users/ericmiller/.pyenv/shims:/Users/ericmiller/Scripts:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/local/bin"
[19:29:34][CodeSign] Signing Identity: "-"
[19:29:34][CodeSign] /usr/bin/codesign --force --sign - --timestamp=none /var/root/Library/Developer/Xcode/DerivedData/MyProductiOS-fgkoogiimhlbckdlbckzmqfyaoff/Build/Products/Debug-iphonesimulator/MyProductiOSUITests-Runner.app/PlugIns/MyProductiOSUITests.xctest
[19:29:34][CodeSign] /var/root/Library/Developer/Xcode/DerivedData/MyProductiOS-fgkoogiimhlbckdlbckzmqfyaoff/Build/Products/Debug-iphonesimulator/MyProductiOSUITests-Runner.app/PlugIns/MyProductiOSUITests.xctest: replacing existing signature
[19:31:32][CodeSign] 2017-01-22 19:31:32.279 xcodebuild[28262:86807] iOSSimulator: Timed out waiting 120 seconds for simulator to boot, current state is 1.
[19:31:32][CodeSign] 2017-01-22 19:31:32.290 xcodebuild[28262:86805] iOSSimulator: Timed out waiting 120 seconds for simulator to boot, current state is 1.
[19:31:32][CodeSign] 2017-01-22 19:31:32.291 xcodebuild[28262:86797] Error Domain=IDETestOperationsObserverErrorDomain Code=3 "Timed out waiting …Run Code Online (Sandbox Code Playgroud) 我试图归档我的应用程序并得到此错误:由于信号命令失败:分段错误:11
当我构建它时,一切都很顺利,也在真实设备上.归档时会发生这种情况.任何想法如何解决?
这是错误的一部分:
0 swift 0x000000010f79f3ad PrintStackTraceSignalHandler(void*) + 45
1 swift 0x000000010f79eb56 SignalHandler(int) + 790
2 libsystem_platform.dylib 0x00007fffc82d5bba _sigtramp + 26
3 libsystem_platform.dylib 0x0000000000000040 _sigtramp + 936551584
4 swift 0x000000010cae0de3 swift::CastOptimizer::optimizeUnconditionalCheckedCastAddrInst(swift::UnconditionalCheckedCastAddrInst*) + 1699
5 swift 0x000000010cb69d4d processFunction(swift::SILFunction&, bool, unsigned int) + 1917
6 swift 0x000000010cb70c9f (anonymous namespace)::ConstantPropagation::run() + 47
7 swift 0x000000010caff89e swift::SILPassManager::runOneIteration() + 5166
8 swift 0x000000010cb051f6 swift::runSILOptimizationPasses(swift::SILModule&) + 3462
9 swift 0x000000010c7ac0e2 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*) + 20114
10 swift 0x000000010c7a52b3 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, …Run Code Online (Sandbox Code Playgroud) 我的工作区有多个目标,其中之一是单元测试。
当我在 iOS 10.3 模拟器上从 Xcode 运行我的单元测试时,它们都通过了。但是,当我从命令行进行测试时,即xcodebuild <testtarget>测试间歇性失败。
以下是我在终端上看到的错误消息
xcodebuild[55631:340885] Error Domain=IDEFoundationErrorDomain Code=1 "Cannot launch simulated executable: no file found at /<Path>/Build/Intermediates/CodeCoverage/Products/Debug-iphonesimulator/<ProductName>"
这仅发生在 Xcode 8.3 而非早期版本中。我也设置xcode-select为 8.3.2
有人遇到过同样的问题吗?