我的iPhone应用程序中有几个资源,当它们被编译时,无论Xcode分组结构如何,它们都会被添加到应用程序资源文件夹的根目录中.这对大多数事情都很好,但是我需要在app的资源文件夹中的文件夹中构建一组文件.
目前,我已使用"添加现有文件... - >为添加的文件夹创建文件夹参考"将我的文件夹添加到Xcode.这很好,Xcode中的文件夹图标是蓝色而不是黄色.我的问题是Xcode没有注意到这些文件夹中的新文件或更改文件,因此当我构建项目时,新的或更改的图像都不在目标应用程序的资源中.我可以让它工作的唯一方法是做一个干净,然后构建,这是非常烦人的,因为我正在进行更改,有时可能每分钟重新编译几次!
我希望在应用程序中保留的资源中的文件夹结构包含多个嵌套文件和文件夹.
有没有办法让Xcode识别所有已更改或新的文件和文件夹?
谢谢,
麦克风
我正在尝试在我的iPhone应用程序中创建图像的"页面卷曲"动画.我是UIViewAnimationTransitionCurlUp,它是未记录的核心动画兄弟,但是我需要动画的图像是一个透明的PNG,带有"不均匀"(一些像素像素)轮廓.当使用上述预制转换时,一旦动画开始,那些alpha像素就被涂成黑色,这看起来非常难看.
因此,我寻求创建自己的核心动画.我试图研究这个主题,但一直无法找到所涉及技术的良好概述.实现当然必须比单个属性更改更复杂,我觉得即使CATransform3D也会限制用于此目的,因为图像需要在其不同部分应用不同的3D转换 - 随时间变化.那怎么会谈到这个话题呢?我非常感谢任何想法或想法!
最好的,Eli
我在App Store上被拒绝在我的应用程序中使用私有实例变量.我应该使用的ivars绝对不能在我的代码中访问,但我使用的是来自第三方的一个或两个静态库.我如何测试这些实际上是否真的是罪犯?
更新:
Apple指责我(和第三方库)在UITouch类中使用私有实例变量,包括
像在java中一样:
一个最终的类不能被继承.这样做是出于安全和效率的原因.因此,许多Java标准库类都是final类,例如java.lang.System和java.lang.String.最终类中的所有方法都是隐式最终的.
如何在objective-c中实现此行为?
最近我在客户端的OLTP框(Sql server 2005)上遇到了死锁情况,发现它是由两个不同线程调用的两个存储过程引起的.
1,插入在X表中插入数据的sp.
Insert Into X (col1 , col2 , col3 )
Values ('value 1' , 'value 2' , 'value 3' )
Run Code Online (Sandbox Code Playgroud)
2,删除从X表中删除数据的sp.
DELETE X
FROM X T1 WITH (NOLOCK)
INNER JOIN Y T2 WITH (NOLOCK)
ON T1.[col2] = T2.[col2]
WHERE t2.date < 'date time value'
Run Code Online (Sandbox Code Playgroud)
X表有一个唯一的聚簇主键和两个非聚簇的非唯一索引.我通过设置t1222 tace标志来分析死锁,输出总结如下;
插入sp在第1列的非聚集索引上获取了IX锁定.在此期间,删除sp正在等待第1列的同一非聚集索引上的X锁定.
删除sp在第2列的非聚集索引上获取U锁定.在此期间,插入sp正在等待第2列的同一非聚集索引上的IX锁定.
任何想要或建议避免死锁都会非常感激.
编辑
跟踪标志t1222的输出
deadlock-list
deadlock victim=process3c77d68
process-list
process id=process3c12c58 taskpriority=0 logused=1044 waitresource=PAGE: 17:8:7726 waittime=1250 ownerId=5169682909 transactionname=user_transaction lasttranstarted=2011-02-03T03:34:03.443 XDES=0xfe64d78b0 lockMode=IX schedulerid=2 kpid=9544 status=suspended spid=219 sbid=0 ecid=0 priority=0 transcount=2 lastbatchstarted=2011-02-03T03:34:03.457 lastbatchcompleted=2011-02-03T03:34:03.453 …Run Code Online (Sandbox Code Playgroud) 在Mac OS X上,DYLD格式的二进制可执行文件包含"加载程序命令",用于指示库加载系统如何处理文件的内容.特别是,loader命令指示系统应该搜索依赖库,等等.
您可以通过运行"otool -l/path/to/your/app"查看系统上任何二进制文件的加载程序命令的完整列表.
一般来说,这些加载器命令是在项目编译的链接阶段由"ld"工具设置的.
我的问题是,我需要做什么才能为ld不支持(显然)的公开类型添加加载程序命令?
特别是,我想利用LC_DYLD_ENVIRONMENT加载器命令,该命令可用于在二进制文件的加载程序命令表中指定一个字符串,该字符串应加载并在可执行文件的上下文中作为环境变量设置进行评估.
我没有看到任何有助于此的论点.像"-sectcreate"这样的东西,但是为了特别添加到加载器命令的内容,就是我所追求的.
我知道这是可能的,因为Mac OS X上至少有一个标准应用程序使用它:Safari.但我不知道他们是否通过对二进制文件进行某种后链接按摩来实现这一点,如果他们使用自定义版本的ld知道如何构建和链接自定义加载器命令,或者他们是否正在利用ld命令的一般purpopse功能,我一直无法弄清楚.
我正在寻找在Mac OS X下创建全屏叠加层的"最佳"方式.我想创建一个透明或半透明的叠加层,它关注鼠标事件并显示其他输入/输出元素.
此叠加层应高于所有其他GUI项(如CMD-Tab叠加层).
你知道如何有效地做到这一点吗?目前我正在玩这种代码:
int windowLevel = CGShieldingWindowLevel();
NSRect windowRect = [[NSScreen mainScreen] frame];
NSWindow *overlayWindow = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
screen:[NSScreen mainScreen]];
[overlayWindow setReleasedWhenClosed:YES];
[overlayWindow setLevel:windowLevel];
[overlayWindow setBackgroundColor:[NSColor colorWithCalibratedRed:0.0
green:0.0
blue:0.0
alpha:0.5]];
[overlayWindow setAlphaValue:1.0];
[overlayWindow setOpaque:NO];
[overlayWindow setIgnoresMouseEvents:NO];
[overlayWindow makeKeyAndOrderFront:nil];
Run Code Online (Sandbox Code Playgroud)
...它工作正常,但我没有选择启动任何类型的动画,如缓慢增加透明度(慢慢调暗屏幕)等.
虽然我不明白如何将此窗口置于后台,但不释放它并让它不时弹出.
那么有更好或"标准"的方法吗?
我想在OSX中设置CocoaPods(我正在运行10.8.2) - 所以我跑了
sudo gem install cocoapods
它成功了,我得到了 - '成功安装了cocoapods-0.17.2 1 gem安装'
然后......我试试pod setup '-bash:pod:command not found'
如何让命令行识别此命令?
我有一个UIViewController我用它创建背景渐变的地方
CAGradientLayer *gradient = [CAGradientLayer layer];
...
gradient.frame = frame;
self.backGradient = gradient;
[self.view.layer insertSublayer:gradient atIndex:0];
Run Code Online (Sandbox Code Playgroud)
它工作正常,后来我必须将_selectionFrame我的视图控制器的子视图发送回:(
我经常需要发送_selectionFrame到后面和前面,用于动画和绘图目的)
self 是viewController:
[self.view sendSubviewToBack:_selectionFrame];
Run Code Online (Sandbox Code Playgroud)
然而,这发送的_selectionFrame背后gradient.我希望它只是在渐变之上但在每个其他子视图之下.问题是渐变不是视图,所以我不能使用渐变的函数.
我想打个电话[self.view sendSubviewToBack:gradient];
但这不起作用.
我最近在Mac上使用PS3控制器一直在玩IOKit的HID部分.我已经设法查看示例代码并连接到我的控制器,接收数据流并解析它(Everything,包括加速度计和陀螺仪).
然而,今天我决定开始设置设备背面的LED并触发隆隆电机,但我无法让它工作!
看一下Apple为IOHID提供的示例代码,我在HID设备上设置东西时只看到了很多东西,只接收数据.从网上看(小半天)我得到的是我认为使用的工作发送方法IOHIDDeviceSetReport().但是,我无法弄清楚我应该发送什么数据.
我找到了几个列出数据示例的网站:
(我知道并非所有这些示例都适用于Mac和PS3控制器之间)
很多人似乎都在谈论这个甚至是这样做的(我拒绝相信没有人有这个工作)但我似乎无法找到任何关于实际如何做到这一点的工作!
我觉得我在这里错过了一个简单的步骤,所以如果有任何想法,帮助或解决方案,请告诉我.
谢谢.
示例我正在尝试发送报告的代码(正在返回成功):
CFIndex len = 64;
uint8_t report[64] = {0x0};
IOReturn tIOReturn = IOHIDDeviceSetReport(deviceRef,
kIOHIDReportTypeOutput,
reportID,
report,
len);
Run Code Online (Sandbox Code Playgroud)
这只是发送了很多东西(字面意思)但它只是我正在使用的一个例子,只是因为它不正确.
额外的:我还注意到苹果对IOHIDDeviceSetReport这些例子的不同之处的定义.
它说report应该是"报告缓冲区的地址".但...
它说*report(作为指针)是"要发送到设备的报告字节.".