我试图访问资源目录中的XML文件存储.我正在使用NSURL使用NSURLConnection访问此文件(此文件将来将被替换为远程服务).
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL
URLWithString:@"file:///XMLTest.xml"]
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSURLConnection *connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (connection) {
// Create the NSMutableData to hold the received data.
// receivedData is an instance variable declared elsewhere.
response = [[NSMutableData data] retain];
} else {
NSLog(@"Could not create connection");
}
Run Code Online (Sandbox Code Playgroud)
启动连接的类实现NSURLConnection方法:
connection:willCacheResponse:
connection:didReceiveData:
connectionDidFinishLoading:
connectionDidFinishLoading:
Run Code Online (Sandbox Code Playgroud)
一旦我启动它,模拟器就会死机,没有消息打印到控制台,所以我不知道在哪里看.任何想法,或者我只是这样做完全错了?
我正在努力发掘一种基于触摸输入在MkMapView上放置引脚的标准方法.可能没有标准的方法,但总是值得一提.如果我必须自己实现这一点,那么添加手势识别器的最佳方法是在地图视图上点按.
我正在尝试使用opengl编写游戏,但是我在使用新的glkit类和iOS的默认模板时遇到了很多麻烦.
- (void)viewDidLoad
{
[super viewDidLoad];
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (!self.context) {
NSLog(@"Failed to create ES context");
}
if(!renderer)
renderer = [RenderManager sharedManager];
tiles = [[TileSet alloc]init];
GLKView *view = (GLKView *)self.view;
view.context = self.context;
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
[self setupGL];
}
- (void)setupGL
{
int width = [[self view] bounds].size.width;
int height = [[self view] bounds].size.height;
[EAGLContext setCurrentContext:self.context];
self.effect = [[GLKBaseEffect alloc] init];
self.effect.light0.enabled = GL_TRUE;
self.effect.light0.diffuseColor = GLKVector4Make(0.4f, 0.4f, 0.4f, 1.0f);
//Configure Buffers
glGenFramebuffers(1, &framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer); …Run Code Online (Sandbox Code Playgroud) 我正在学习关于3D编程的学习现代3D图形编程,但我对iOS中的着色器和GLES 2.0没有好运.我正在使用xcode 4 opengl游戏模板,尽管对书中的第一个例子进行了修改.
书中的第一个着色器不会编译出许多不同的错误.第一个顶点着色器
#version 330
layout(location = 0) in vec4 position;
void main()
{
gl_Position = position;
}
Run Code Online (Sandbox Code Playgroud)
抱怨版本声明并拒绝允许使用布局作为说明符.我终于设法让这个建立.
attribute vec4 position;
void main()
{
gl_Position = position;
}
Run Code Online (Sandbox Code Playgroud)
同样,第一个片段着色器由于版本而拒绝构建,并且不允许全局段中的输出
#version 330
out vec4 outputColor;
void main()
{
outputColor = vec4(1.0f, 1.0f, 1.0f, 1.0f);
}
Run Code Online (Sandbox Code Playgroud)
随着错误
ERROR: 0:10: Invalid qualifiers 'out' in global variable context
Run Code Online (Sandbox Code Playgroud)
好的,所以我设法得到第一个例子(一个简单的三角形)来处理以下着色器.
顶点着色器
#version 100
void main()
{
gl_FragColor = vec4(1.0,1.0,1.0,1.0);
}
Run Code Online (Sandbox Code Playgroud)
片段着色器
attribute vec4 position;
void main()
{
gl_Position = position; …Run Code Online (Sandbox Code Playgroud) 我正在解析我正在处理的iphone应用程序中的字符串中的double.此双精度值是小数gps位置(纬度或经度)的一部分.使用[string doubleValue]或数字格式化器总是会返回nil.
if([elementName isEqual:@"long"]) {
NSLog(@"\t got lon %@",[currentString doubleValue]);
}
Run Code Online (Sandbox Code Playgroud)
这总是导致记录为null.