刚刚将iPad Mini更新到iOS 8,突然无法使用XCode 6.0.1在其上调试我的应用程序.Xcode中的错误App installation failed与An unknown error has occurred..在设备上,应用程序仍然显示为灰色.
试着 :
iOS 6和iOS 7设备工作正常,也可以调试其他项目,但不是这个,所以我变得绝望.
任何的想法 ?
控制台日志:
23/09/14 18:24:16,617 Xcode[421]: createShadowPath (thread 0x12a2f6000): returning: /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/TDev.app
23/09/14 18:24:16,617 Xcode[421]: createSiblingInPath (thread 0x12a2f6000): returning: /var/folders/lq/1z47wljj77gbhhrhc9z_yylw0000gn/C/com.apple.DeveloperTools/6.0.1/Xcode/942f46185227b6e098ea41a4548a0649/e269ac837383a4b805c1e212d18ffe36483ab24a/ManifestCache.plist
23/09/14 18:24:16,690 Xcode[421]: _AMDeviceCopyInstalledAppInfo (thread 0x12a2f6000): no app info
23/09/14 18:24:16,693 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): unable to get installed app info, falling back to old skool install
23/09/14 18:24:16,693 Xcode[421]: AMDeviceSecureInstallApplicationBundle (thread 0x12a2f6000): Blasting the …Run Code Online (Sandbox Code Playgroud) 我想将Legal标签移到右侧.在iOS 6和7上,下面的解决方案工作正常,但是在iOS 8.3上似乎不起作用.
我得到了标签,然后用计时器(0.1秒)viewDidLayoutSubviews我调用这个方法:
-(void)moveLegalLabel
{
UIView * legalLink = [self attributionView];
legalLink.frame = CGRectMake(self.mapView.frame.size.width - legalLink.frame.size.width - 10, self.mapView.frame.size.height - legalLink.frame.size.height - 10 , legalLink.frame.size.width, legalLink.frame.size.height);
legalLink.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin;
}
Run Code Online (Sandbox Code Playgroud)
它可以很好地用于旋转等.但是一旦我滚动地图,标签就会跳回到左边.试图在这个方法中调用这个方法,regionDidChangeAnimated但是标签首先向左跳,然后向右跳,这真的很烦人......
我怎么能强迫那个愚蠢的标签留在右侧?
Christian建议的解决方案:
moveLegalLabel代码移到那里layoutSubviews-(void)layoutSubviews
{
[super layoutSubviews];
[self moveLegalLabel];
}
我正在尝试在MKMapView上绘制一些包含文本的圆形叠加层.我已经将MKCircleView子类化了,其中我放了以下内容(基于此),但文本没有出现.圆圈正确显示.(也尝试了第一个响应的解决方案,结果相同).
-(void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context {
[super drawMapRect:mapRect zoomScale:zoomScale inContext:context];
NSString * t= @"XXXXX\nXXXX" ;
UIGraphicsPushContext(context);
CGContextSaveGState(context);
[[UIColor redColor] set];
CGRect overallCGRect = [self rectForMapRect:[self.overlay boundingMapRect]];
NSLog(@"MKC : %lf, %lf ----> %lf , %lf ", mapRect.origin.x ,mapRect.origin.y , overallCGRect.origin.x, overallCGRect.origin.y);
[t drawInRect:overallCGRect withFont:[UIFont fontWithName:@"Arial" size:10.0] lineBreakMode:UILineBreakModeClip alignment:UITextAlignmentCenter];
CGContextRestoreGState(context);
UIGraphicsPopContext();
}
Run Code Online (Sandbox Code Playgroud)
调试时,我得到这些值
MKC : 43253760.000000, 104071168.000000 ----> 1.776503 , 1.999245
MKC : 43253760.000000, 104071168.000000 ----> -1.562442 , -2.043090
Run Code Online (Sandbox Code Playgroud)
他们是正常的吗?我错过了什么?
谢谢.
我想根据速度等条件在折线视图上应用渐变.我能够MKPolyLineRenderer使用自定义笔触和填充进行子类绘制,但只沿路径使用相同的颜色.
我看到了其他类似的问题:从圆圈或圆环 或OSX中绘制线段,如何渐变填充路径笔划?,但这不是我想要的.如果我理解正确,就不能用这些方法填充下面这样的路径.至少不作为一个整体对待.

一个非常相似的问题是Gradient Polyline和MapKit ios.但是它为点之间的每个段添加了叠加,我认为这不是太有效.
这是唯一可行的方法吗?(我需要绘制数百甚至数千个这些段...)如何轻松实现?
谢谢
我想为我实现一些空间索引数据结构之王MKAnnotations.目前,当我尝试根据距离标准过滤它们时非常慢(3-4k的位置,目前非常慢,只有一个简单的双for...).
我想创建群集MKAnnotations,以确定它是否接近另一个群集.此外,这些位置处于某种(创建)顺序,并且需要"先前"/"下一步"功能来"跳跃"(这不是必须的).我已经阅读了有关kd-tree和r-tree结构的信息,它们似乎都满足了过滤/聚类的快速距离/邻居获取选项,但我不确定哪种选择最适合我,或者是否还有其他选项.我应该使用什么算法/数据结构?
更新:我将这些位置存储在Core Data数据库中,它们代表一个路径.打开地图时,它们被提取到一个数组中,然后我只使用该数组进行距离计算和注释创建.当用户移动/缩放地图时,我会遍历它们并确定需要在地图上更改的内容,因此整个内容都是静态的.据我所知,如果我要使用树,我可以在那里存储位置,当发生缩放/移动时,我只搜索它并获得新区域中的那些.这是真的 ?
即使在动态情况下,当我可以向此数组添加新位置时,它也只是一次插入而且很少发生.
我刚刚将我的xcode更新为5.1 ...安装了我需要的所有模拟器(6,7,7.1),并且可以愉快地调试每个模拟器.
但是,分析器现在总是启动64位视网膜7.1 iphone模拟器.尝试与时间探查器,分配,僵尸,相同的精确模拟器.试图在模拟器自己的菜单中切换它,试图重启仪器,xcode,没有任何作用."配置文件"方案勾选了"使用运行操作的参数",但没有发生任何事情.此外,在更新之前或之后,未在项目设置中手动更改任何内容.
是否有针对此问题的解决方法或修复方法?
任何回复非常感谢!
我在旧项目的VC中获得了以下代码(没有故事板,纯代码):
- (void)viewDidLoad {
[super viewDidLoad];
self.mapView = [[MKMapView alloc] initWithFrame:CGRectInset(self.view.frame, 10, 10) ];
[self.view addSubview:self.mapView];
self.view.backgroundColor = [UIColor redColor];
self.mapView.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.view.translatesAutoresizingMaskIntoConstraints = NO; // <--- this line
}
Run Code Online (Sandbox Code Playgroud)
如果我评论最后一行,从纵向到横向或其他方式的旋转在ios8下约为3秒 !! 此外,偶尔在随机时间无法分配渲染缓冲区存储!出现错误.
如果我不评论它,它几乎是瞬间的(0.7秒).它似乎只与mapviews相关,其他视图/ VC旋转得很好.
在ios7下,无论如何在该行评论或不评论时旋转都很快.
为什么?为什么只有mapview受到影响?
编辑:似乎很明显autoresizingmask是错误的.如果在viewDidLoad我将其值设置为none并手动更改willRotate中的帧,则它可以快速工作.
我正在尝试使用自定义进行数据库升级NSEntityMigrationPolicy.这就是我的数据模型现在的样子以及预期结果:
A <-------->> B ( 1 A -> many B )
Run Code Online (Sandbox Code Playgroud)
我想要一个新的C实体,它将"破坏"某些子集中的B类型对象:
A <-------->> C <------->> B ( 1 A can have many C, each C can have many B )
Run Code Online (Sandbox Code Playgroud)
我NSEntityMigrationPolicy为实体A 做了一个习惯.我为每个A创建了一些C实体createDestinationInstancesForSourceInstance:entityMapping:manager:error:,但是我对如何处理A和B之间的关系感到困惑.
在文档中,他们说要用createRelationshipsForDestinationInstance某种方式来创造新的关系.但是,对于这种情况,我没有找到任何暗示性的例子.我想可能在这里可以创建A < - >> C关系,但是在目的地上下文中B可能还不存在以创建C < - >> B关系.如何进行这样的迁移?请帮忙 :)
谢谢 !
我在地图上有很多长折线.我想优化他们的绘图,因为在几千点处,折线被绘制得非常慢.
我drawMapRect看起来像这样:
- for each polyline segment
- verify if it's bounding box intersects the currently drawn MKMapRect
- if id does, draw it
Run Code Online (Sandbox Code Playgroud)
如果没有太多分数,哪个很好.但是当有8-16个可见的地图和2-3000个点时,它们的速度非常慢for.
如果它们只是位置,那么解决方案就是实现某种四叉树/ r树结构,只过滤当前绘制的那些位置MKMapRect,但我不确定这是否适合折线本身.
如果我仅过滤当前maprect内的段端点,则可能不会绘制某些线段.例如,1-2点之间的两个红色maprects中没有段端点,但仍然需要绘制...
是否有某种算法类似于四叉树或某种方法来解决这个问题?
我正在使用CocoaAsyncSocket尝试创建TCP隧道/ mux/demux,通过端口对(A < - > B)转发所有连接.写入端口A的所有内容都应该从端口B"出来",反之亦然.我只能使用端口A和B,无法打开其他端口.
我正在创建2监听AsyncSocketsA和B,并有2个连接客户端阵列,并在
- (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
if (sock.localPort == B.localPort)
{
for (AsyncSocket * cl in clientsOfA)
{
[cl writeData:data withTimeout:-1 tag:0];
[cl readDataWithTimeout:-1 tag:0];
}
[sock readDataWithTimeout:-1 tag:0];
}
我在端口AI上读到的所有内容都将发送给端口B的所有客户端,反之亦然.在A的一侧有一个Safari,向A提出请求.
我的问题是:当数据从B端口返回时,在A端我有5个客户端(谢谢Safari ...),我不知道哪一个最初请求当前数据包,所以我发送数据到他们所有人......好吧......一切都搞砸了.
这种多路复用器/多路复用器能否以这种方式实现?或者实现这一目标的正确方法是什么?我怎样才能区分发起客户?