我有一个应用程序,我添加了一些新的功能.这是在调试模式下测试的,但是在为Release编译时引入了许多错误.
一些侦探工作显示这些是由调用转换NSView类和CALayer类之间的点引起的,例如
- (NSPoint)convertPoint:(NSPoint)aPoint fromView:(NSView *)aView
- (CGPoint)convertPoint:(CGPoint)aPoint toLayer:(CALayer *)layer
error: incompatible type for argument 1 of 'convertPoint:toLayer:'
Run Code Online (Sandbox Code Playgroud)
试图纠正这个问题导致另一组错误交换,我在NSPoint中发现了问题: -
在Mac OS X v10.5之前,坐标由浮点值而不是CGFloat值表示.在为64位系统构建或构建32位(如64位)时,NSPoint会对CGPoint进行类型化.
我一直在编译默认的"标准(32/64位英特尔)"架构,将其更改为"64位英特尔"解决了这个问题.我可以通过在NSPoint和CGPoint之间包含显式转换来解决问题,尽管这很笨拙(在64位中是不必要的).
我试图发现"标准(32/64位英特尔)"架构实际意味着什么,但画了一个空白.我唯一能找到的是: -
将为其构建产品的体系结构列表.这通常设置为平台提供的预定义构建设置.如果指定了多个体系结构,则将生成通用二进制文件.
在应用程序包中进行探讨似乎没有显示标准(32/64位英特尔)和64位英特尔之间的差异.
任何人都可以对此有所了解,并且在针对10.6或更高版本的应用程序中尝试生成"标准版(32/64位英特尔)"是否有任何意义?
我有一个我在Xcode 4.4.1中工作的项目,并想回到之前的分支.(注意分支并不复杂,但代表线性发展)
当我选择上一个分支时,有一个警告
UserInterfaceState.xcuserstate: warning: Merge conflict: File still marked as conflicted
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错,但所有构建和运行菜单项都是灰色的,所以我什么也做不了.
我试图恢复到最新的分支,这看起来没问题,但仍然存在合并冲突MyProject.xcodeproj/project.xcworkspace/xcuserdata/ian.xcuserdatad/UserInterfaceState.xcuserstate:警告:合并冲突:文件仍标记为冲突
我尝试了一个git状态,但没有帮助
# Unmerged paths:
...
# deleted by them: MyProject.xcodeproj/project.xcworkspace/xcuserdata/ian.xcuserdatad/UserInterfaceState.xcuserstate
#
# Changes not staged for commit:
...
#
# deleted: MyProject.xcodeproj/xcuserdata/ian.xcuserdatad/xcschemes/QuollEyeTree.xcscheme
Run Code Online (Sandbox Code Playgroud)
我尝试了一个git reset HEAD,但这似乎没有帮助,我不知道从哪里开始.
Git对于检查以前版本的代码很方便,但每当我尝试交换版本时,我都会遇到麻烦.
当我尝试创建工作区并添加另一个项目时,我当前的问题似乎已经加剧了.原始项目是在Xcode 3下创建的,项目和文件紧挨着项目目录.
编辑 - 已解决
以下答案没有解决问题,但两者都有帮助.
我从项目目录中保存了我的代码,删除了最新的分支
git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)
然后将更改的文件复制回项目目录
我还更新了我的.gitignore(我以前认为我曾经做过)
我试图根据我在本网站上无耻地发现的一些Python代码,在目录中找到最新文件的日期.
def newest_file_in_tree(rootfnewer, extension=".avi"):
return max(
(os.path.join(dirname, filename)
for dirname, dirnames, filenames in os.walk(rootfnewer)
for filename in filenames
if filename.endswith(extension)),
key=lambda fn: os.stat(fn).st_mtime)
Run Code Online (Sandbox Code Playgroud)
这可行,但在空目录上失败.
key=lambda fn: os.stat(fn).st_mtime)
ValueError: max() arg is an empty sequence
Run Code Online (Sandbox Code Playgroud)
我承认我是一名Python初学者,最后一行超出了我的薪水等级.
任何人都可以建议我如何捕获错误并防止功能崩溃?
我正在编写一个程序,要求我使用标准fopen fprintf fclose调用创建一个文件.
我想设置执行位.
我可以这样做,chmod但这似乎有点矫枉过正.对于我的生活(可能由于年事已高),我似乎无法找到(或记住)API来执行此操作.