Tag: ios5

从GLKView / GLKit获取默认帧缓冲区ID

我在我的IOS OpenGL ES 2.0项目中使用GLkit / GLKView来pipe理我的应用程序的默认FBO /生命周期。 在桌面OpenGL中,为了绑定默认的FBO(前台缓冲区),我只能调用glBindFrameBuffer(GL_FRAMEBUFFER,0),但是在iOS应用中并不是这样,因为你必须自己创build默认的FBO,并且它将有唯一的ID; 问题是GLKit / GLKView编码风格迫使我使用GLKView的“bindDrawable”函数来激活默认的FBO,这使得我的跨平台渲染系统的devise有点难看(必须将GLKView指针存储为void *在我的c ++引擎类和桥每次我想要执行默认的FBO绑定时将其转换) 有没有办法获得GLKit / GLKView创build的默认FBO ID,以便我可以存储和使用它绑定默认的帧缓冲区在我的代码中的任何地方? 在最坏的情况下,我可以恢复自己创build默认的FBO,并分离GLKit / GLKView,但它是一个很好的框架,我想继续使用它。 对不起,我的英文不好,并提前感谢任何答复。

从Info plist获取数据

每当我想从plist文件中获取数据,我使用下面的代码: NSString *filePath = [[NSBundle mainBundle] pathForResource:@"FILE_NAME" ofType:@"plist"]; NSDictionary *plistData = [NSDictionary dictionaryWithContentsOfFile:filePath]; 但是现在我试图从Info plist中读取数据,而filePath是零。 有没有不同的方式从信息plist获取数据?

UIWebView loadHTMLString在iOS5中不起作用

也许这是类似于这个问题,没有任何反应: loadHTMLString不适用于iOS5? 我有一个UIWebView,我使用loadHTMLString填充:baseURL :. HTML是小而简单的,它引用了一个css样式表和一个javascript脚本,它们通过baseURL:来加载,该脚本被设置到应用程序包中的一个目录中。 // load the html NSString* filePath = [NSString stringWithFormat: @"%@/html", [[NSBundle mainBundle] resourcePath ] ]; [_pCurrentWebView loadHTMLString: html baseURL: [NSURL fileURLWithPath: filePath isDirectory: YES ] ]; 这一直以来都是有效的,但在iOS5中已经崩溃了。 在iOS5中,UIWebView中不显示任何内容。 webview确实会提供所有预期的事件 – 例如,shouldLoadRequest,didStartLoad,didFinishLoad等 html有一个脚本标签,像这样: <script type="text/javascript" src="./myscript.js" /> 如果我删除脚本标记,然后页面加载和iOS5罚款。 我可以告诉我,加载并应用与脚本.js文件相同的方式引用的css文件。 如果我保留脚本标记,但使myscript.js文件完全清空,它仍然无法加载。 对我来说,这似乎是某种跨站点脚本问题,因为WebView认为它应该禁止加载脚本(事实上,禁止呈现页面?) 不知道从哪里去。 想法? UPDATE 这感觉越来越像一个跨站点脚本问题。 如果我删除它的标签,虽然sans脚本。 我所有的图像都是从baseURL加载的,就像我的样式表一样。 也就是说,我们知道baseURL正在工作。 如果我用我的脚本文件的实际内容replace标签,那么它的工作原理,所以问题不是脚本本身。 仍然在寻找确认和额外的想法来规避。 我不得不将脚本本身修补到html中,但这是我迄今为止最好的解决scheme。 […]

UIImagePickerController – 将图片裁剪成方形(纵向)

我正在使用UIImagePickerController来拍摄和编辑图片。 它在景观上工作得很好,但是在肖像中它会将图片裁剪成方形(不允许减less图像以便像景观中那样完全适合方形的农作物区域。 码: -(IBAction)initCamera:(id)sender{ //Init imagePicker instance UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; [imagePicker setDelegate:self]; [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; [imagePicker setShowsCameraControls:YES]; [imagePicker setAllowsEditing:YES]; [self presentModalViewController:imagePicker animated:YES]; [imagePicker release]; }

在App Store和主屏幕上显示不同的应用程序名称

显然有些应用程序在应用程序商店详细信息页面上显示的名称与下载并放置在主屏幕上的名称不同。 这很有意义,因为主屏幕上的应用程序图标下面的空间非常有限。 我的问题是如何做到这一点? 主屏幕上使用的名称在哪里定义? 应用程序商店应用程序详细信息页面上使用的名称在哪里定义? 问候

添加CocoaAsyncSocket时,架构armv7的未定义符号

我想在xcode 4.2.1下使用XMPPFramework和一个iOS5项目(ARC),但是我正面临着这个问题。 一旦我添加CocoaAsyncSocket到我的项目作为准备我的项目使用XMPPFramework 1中的一部分,我得到以下错误。 我见过一些其他人拥有“未定义符号的build筑armv7”,但我目前还没有find这个问题的答案。 我已经链接到CFNetwork并将GCDAsyncSocket.m标记为非ARC(-fno-objc-arc),但是我仍然得到错误。 任何帮助表示赞赏。 Undefined symbols for architecture armv7: "_SSLGetBufferedReadSize", referenced from: ___33-[GCDAsyncSocket flushSSLBuffers]_block_invoke_0 in GCDAsyncSocket.o -[GCDAsyncSocket doReadData] in GCDAsyncSocket.o "_SSLSetIOFuncs", referenced from: -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o "_SSLRead", referenced from: -[GCDAsyncSocket flushSSLBuffers] in GCDAsyncSocket.o -[GCDAsyncSocket doReadData] in GCDAsyncSocket.o "_SSLWrite", referenced from: -[GCDAsyncSocket doWriteData] in GCDAsyncSocket.o "_SSLClose", referenced from: -[GCDAsyncSocket closeWithError:] in GCDAsyncSocket.o […]

ARC,值得吗?

当我从C ++(和小Java)移到Objective C(iOS)时,我很难理解iOS中的内存pipe理。 但现在所有这一切似乎很自然,我知道保留,autorelease,复制和发布的东西。 在阅读了ARC之后,我想知道使用ARC还有更多好处,或者您不必担心内存pipe理。 在转向ARC之前,我想知道如何转向ARC。 XCode具有“转换为Objective C ARC”菜单。 转换是如此简单(没有什么可担心的)? 它有助于我减less我的应用程序内存足迹,内存泄漏等(不知何故?) 它是否对我的应用程序有很多testing影响? 什么是非明显的优势? 任何移动到它的缺点?

UIButton不会在iOS 5中调用动作,但可以在iOS 6中使用

我有一个UIButton作为视图控制器的IBOutlet属性从xib文件加载。 我将一个select器附加到我的视图控制器的viewDidLoad中的button: [_myButton addTarget:self action:@selector(mySelector) forControlEvents:UIControlEventTouchUpInside]; 在iOS 6中一切正常,但是当我在iOS 5.0的模拟器上运行时,select器不会被调用。 触摸时button会突出显示。 另外需要注意的是,该button位于UIView ,并且已经添加了UITapGestureRecognizer 。 这个视图的UITapGestureRecognizer在iOS 5.0中被点击button时调用(它不会在iOS 6中调用,而是调用button的select器)。 我没有运行iOS 5的设备,所以我没有在设备上进行testing,只是模拟器。 有谁知道这里发生了什么,以及如何解决?

iOS 5 – AVCaptureDevice设置对焦点和对焦模式冻结现场摄像头图像

我使用以下方法来设置从iOS 4开始的焦点: – (void) focusAtPoint:(CGPoint)point { AVCaptureDevice *device = [[self captureInput] device]; NSError *error; if ([device isFocusModeSupported:AVCaptureFocusModeAutoFocus] && [device isFocusPointOfInterestSupported]) { if ([device lockForConfiguration:&error]) { [device setFocusPointOfInterest:point]; [device setFocusMode:AVCaptureFocusModeAutoFocus]; [device unlockForConfiguration]; } else { NSLog(@"Error: %@", error); } } } 在iOS 4设备上,这个工作没有任何问题。 但在iOS 5上,实时摄像机馈送冻结,几秒钟后完全变黑。 没有exception或错误抛出。 如果我注释掉setFocusPointOfInterest或setFocusMode,则错误不会发生。 所以他们的组合都会导致这种行为。

无需Interface Builder即可制作通用应用

我在iOS 5中使用XCode 4.2,并且想要制作一个通用应用程序, 而不是使用Interface Builder,如本文所述, 不使用MainWindow.xib 。 我还想使用Kotan Code的post中概述的技术来分离我的iPhone和iPad代码。 所以我有主appdelegate ,和appdelegate_iPhone和从它inheritance的appdelegate_iPad 。 回到XCode 4.0(和Kotan的文章),使用了相应的appdelegate,因为有一个MainWindow_iPhone.xib (或MainWindow_iPad.xib )与它关联。 如果我没有使用.xibs,我该如何编程去正确的appdelegate? (我希望解决scheme不涉及if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {}等)