Flurry为iPad应用程序和iPhone应用程序提供了单独的分析SDK.如果我正在构建一个在iPhone 4.0+和iPad 3.2+(iPad本机,而不是兼容模式)上运行的通用应用程序,有谁知道我应该使用哪个SDK/lib?有什么理由我不应该在iPhone 4+上运行的应用程序使用相同的SDK/lib吗?(基本上,我很困惑为什么会有单独的SDK.)
我想为我的实例变量使用属性,但在很多情况下,我只希望类本身可以访问setter.我希望我能做到这样的事情:
foo.h中:
@interface Foo {
NSString *bar;
}
@property (readonly) NSString *bar;
@end
Run Code Online (Sandbox Code Playgroud)
Foo.m:
#import "Foo.h"
@interface Foo ()
@property (copy) NSString *bar;
@end
@implementation Foo
@synthesize bar;
@end
Run Code Online (Sandbox Code Playgroud)
但这会产生一个警告:
Foo.m:4: warning: property ‘bar’ attribute in ‘Foo’ class continuation does not match class ‘Foo’ property
Run Code Online (Sandbox Code Playgroud)
我可以看到它在抱怨什么,但它似乎仍然是一个有用的习语.有没有其他方法可以在不写自己的二传手的情况下实现这一目标?
我正在尝试在顶级iPhone异常处理程序中显示UIAlertView.处理函数如下所示:
void applicationExceptionHandler(NSException *ex) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:[ex reason]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
Run Code Online (Sandbox Code Playgroud)
我在其他地方看到过类似的代码(例如,NSSetUncaughtExceptionHandler没有捕获iPhone上的所有错误).
如果我单步进入调试器,我可以看到异常处理程序被调用,我可以看到当前屏幕变暗,好像它将在它前面显示警报,但什么都没有出现.在调试器之外,应用程序立即退出并返回系统主屏幕.
如果我在applicationDidFinishLaunching中捕获错误并在返回之前显示警报,它确实有效.我假设警报视图永远不会有机会在异常处理程序中显示,因为应用程序正在终止(而不是坐在那里,如果我只是放弃applicationDidFinishLaunching而无所事事).有没有办法让这项工作?
我正在尝试在MPMoviePlayerController视图(OS 2.x及更高版本)中的标准快退/播放/转发控件的左侧和右侧添加自定义按钮.我已经想出如何将它们添加到播放器窗口,但它们始终可见.有没有办法检测标准控件何时出现和消失?
如果我使用NSURLConnection从服务器获取数据,它会发回一个响应,例如:
HTTP/1.1 406这里有一些文本字符串
有什么方法可以检索状态文本"这里有一些文字串"吗?我知道如何获取状态代码,我知道localizedStringForStatusCode:,但在这种情况下,我需要访问发回的特定文本.
iphone ×5
objective-c ×3
cocoa ×2
analytics ×1
exception ×1
flurry ×1
http ×1
ipad ×1
uialertview ×1