小编BP.*_*BP.的帖子

iOS SDK中的UIScrollView EXC_BAD_ACCESS崩溃

我有一个iPhone SDK应用程序,有多个视图在用户创建内容时出现和消失.在设备上使用该应用程序一段时间后,我遇到以下崩溃:

Program received signal:  “EXC_BAD_ACCESS”.
(gdb) backtrace
#0  0x33369ebc in objc_msgSend ()
#1  0x320e5248 in -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded] ()
#2  0x338b4a14 in -[NSObject performSelector:withObject:] ()
#3  0x320e5098 in -[UIAnimator stopAnimation:] ()
#4  0x320e4b7c in -[UIAnimator(Static) _advance:] ()
#5  0x320e4a34 in LCDHeartbeatCallback ()
#6  0x34350e60 in HeartbeatVBLCallback ()
#7  0x332e91c0 in IOMobileFramebufferNotifyFunc ()
#8  0x316532f8 in ?? ()
#9  0x33866b50 in __CFMachPortPerform ()
#10 0x338ae52a in CFRunLoopRunSpecific ()
#11 0x338adc1e in CFRunLoopRunInMode ()
#12 0x3434e1c8 in GSEventRunModal ()
#13 0x32002c30 in …
Run Code Online (Sandbox Code Playgroud)

iphone exc-bad-access uiscrollview

36
推荐指数
4
解决办法
2万
查看次数

Xcode 4.4.1中non_lazy_ptr的iOS SDK 5.1链接器错误

(我把这个问题发布到VideoLAN论坛,但还没有接受者.我知道SO社区不会让我失望.)

我正在尝试为iOS构建MobileVLC项目.我已经完成了命令行流程来构建项目,并经过http://forum.videolan.org/viewtopic.php?f=12&t=103331http://forum.videolan中所述的几次调整. org/viewtopic.php?f = 12&t = 103271,构建脚本几乎完成运行.当它试图让Xcode构建最终项目时,它会出错.所以我将它加载到Xcode并尝试构建,我可以看到错误,这是我使用-v链接器标志时得到的:

Ld /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/VLC.app/VLC normal armv7
    cd /Users/bp/Desktop/vlc/MobileVLC
    setenv IPHONEOS_DEPLOYMENT_TARGET 5.1
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -L/Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos -L/Users/bp/Desktop/vlc/MobileVLC/External/MobileVLCKit -L/Users/bp/Desktop/vlc/MobileVLC/External/MediaLibraryKit -F/Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos -filelist /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Intermediates/MobileVLC.build/Debug-iphoneos/MobileVLC.build/Objects-normal/armv7/VLC.LinkFileList -dead_strip -Wl,-no_pie,-v -fobjc-link-runtime -miphoneos-version-min=5.1 -framework Foundation -framework UIKit -framework CoreGraphics -framework OpenGLES -framework AudioToolbox -framework QuartzCore -liconv -lz /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/libMobileMediaLibraryKit.a -lsqlite3 -lstdc++.6 -lbz2 -lxml2 -framework CoreData -framework CoreText -framework MediaPlayer /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/libMobileVLCKit.a -o /Users/bp/Library/Developer/Xcode/DerivedData/MobileVLC-ctcjnpeqzuhulxcmjlhrjnyzpzil/Build/Products/Debug-iphoneos/VLC.app/VLC

@(#)PROGRAM:ld  PROJECT:ld64-133.3
configured to support archs: armv6 armv7 i386 x86_64
Library …
Run Code Online (Sandbox Code Playgroud)

xcode linker vlc ios

14
推荐指数
2
解决办法
3878
查看次数

更改.xcdatamodeld文件中.xcdatamodel条目的顺序

我有几个Core Data模型版本,我已添加到我的.xcdatamodeld文件中,我添加的最后一个版本没有像往常那样显示在列表顶部,它是下面列表中的第二个项目. xcdatamodeld文件.我将最新版本设置为当前版本的Core Data模型,但是我无法通过拖动它们来重新排序.xcdatamodel条目,所以有什么方法可以更改条目的顺序,以便最新版本显示在顶部?

顺便说一句,我在Snow Leopard的Xcode 4.2 build 4C199上.

iphone core-data ios4 xcode4 xcdatamodel

8
推荐指数
1
解决办法
571
查看次数

iPad方向改变问题

我的iPhone应用程序在支持方向更改时在iPad上运行时会显示一些奇怪的行为.

该应用程序启动时使用视图控制器(为了参数而将其称为视图A)和导航控制器,并且shouldAutorotateToInterfaceOrientation仅为纵向返回YES.在导航控制器上,我按下一个视图控制器(视图B),它也仅为肖像返回YES.然后,我将另一个视图控制器(视图C)推送到支持所有旋转的导航控制器上,并根据要旋转的方向调整屏幕上的项目.

当在iPhone模拟器和设备上运行时,如果您在视图C上旋转到横向,然后点击后退按钮返回到视图B,它会做正确的事情并将视图B切换回纵向模式.(在模拟器中,它甚至可以自动将模拟器旋转回纵向.)

我遇到的问题是,当我在iPad模拟器和设备上执行完全相同的事件序列时,出现的视图B不会旋转回纵向,导航控制器仍然显示视图C的信息.然后,我点击后退按钮,视图保持不变,但导航控制器显示视图B的正常(但所有仍处于横向模式).然后,如果我再次点击后退按钮,视图B会出现在视图B导航栏项目下,最后再次点击后退我会看到带有导航栏A项目的视图A.

如果我在iPad上查看B并开始旋转,那么应该在没有触发的情况下使用NO来触发,直到我达到纵向模式,然后全部恢复正常.

该应用程序使用最新发布的iPhone SDK版本构建,并具有如下构建设置:iPhone模拟器4.0的基本SDK,iPhone的目标设备系列,iPhone OS 3.1.3的iPhone OS部署目标.

有任何想法吗?

iphone ipad uiinterfaceorientation

7
推荐指数
1
解决办法
7783
查看次数

UITableView在reloadData之后自动向下滚动

我的桌面视图在我的iPad应用程序(OS X 10.7.3,Xcode 4.3.2)中自动向下滚动,并且不确定在哪里查找原因.情况如下:

UITableView填满整个屏幕,大多数单元格都是固定高度的单元格.一个例外是包含UITextView的单元格,并且具有动态高度(换句话说,单元格的高度会调整以适应文本的数量).

如果表格恰好在表格视图位于顶部时切断了动态高度单元格,则问题就会出现.首次加载视图时,表格将正常绘制,只有部分UITextView单元格可见.但是,如果我显示一个UIPopoverController,我需要在解除弹出窗口后执行reloadData,当我这样做时,表视图将向下滚动,足以显示所有UITextView.(不是包含UITextView的单元格,只有UITextView.该表是一个分组表,UITextView单元格是该部分中唯一的单元格,因此在此幻像滚动后仍然看不到圆形底边.)

我在我的应用程序中看不到滚动表视图或设置内容偏移的任何代码,所以我完全不知道是什么导致了这一点.

为了尝试缩小它,我设置了我的视图以尊重UIScrollViewDelegate,如果我在scrollViewDidScroll:方法中放置一个断点,程序确实在弹出窗口消失后停止并给我以下回溯:

(lldb) bt
* thread #1: tid = 0x1f03, 0x0005245f MyApp`-[ContactDisplayViewController scrollViewDidScroll:] + 31 at ContactDisplayViewController.m:1143, stop reason = breakpoint 3.1
    frame #0: 0x0005245f MyApp`-[ContactDisplayViewController scrollViewDidScroll:] + 31 at ContactDisplayViewController.m:1143
    frame #1: 0x017e3494 UIKit`-[UIScrollView setContentOffset:] + 521
    frame #2: 0x0180804d UIKit`-[UITableView setContentOffset:] + 334
    frame #3: 0x017d495e UIKit`-[UIScrollViewScrollAnimation setProgress:] + 523
    frame #4: 0x0183d234 UIKit`-[UIAnimator(Static) _advance:] + 255
    frame #5: 0x02c013a3 GraphicsServices`HeartbeatTimerCallback + 35
    frame #6: 0x023278c3 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19
    frame #7: 0x02328e74 …
Run Code Online (Sandbox Code Playgroud)

iphone uitableview ipad ios

6
推荐指数
1
解决办法
4370
查看次数

从远程存储库检出的Xcode 4项目无法加载

我有一个iOS项目,我正在使用最新版的Snow Leopard和Xcode/iOS SDK在我的iMac上工作.该项目完全检入远程SVN存储库(除了一些文件,如xcuserdata文件).

但是,当我将存储库签出到我的MacBook Pro(也是最新的Snow Leopard和iOS SDK)时,所有文件在我签出后都显示在与iMac相同的目录结构中,但是当我双击xcodeproj文件,项目名称显示在Xcode的标题栏中,我在方案选择器中获得"No Scheme",在文件浏览器中获得"No Files",在编辑器窗口中显示"No Editor".

我很确定项目中的所有引用都是相对的.我从哪里开始寻找问题?

svn ios4 ios xcode4

5
推荐指数
0
解决办法
407
查看次数

使用透明背景检测UIImage的裁剪矩形

采用透明背景的UIImage并确定要裁剪的最小矩形的策略是什么,以便只留下可见的图像数据(如果图像数据当然不是矩形的话,还有额外的透明背景)?

我已经找到了很多关于裁剪到CGRect的UIImage的信息,大量需要用户干预的裁剪视图控制器,以及一些带有图像处理类和类别(包括MGImageUtilities和NYXImagesKit)的开源库,但还没有解决我的特定问题.

我目前的应用是针对iOS 5.0,因此与之兼容性最佳.

编辑:顺便说一句,我希望有一种比蛮力更好的方法,在行和列中寻找边缘边界的图像数据的最坏情况下查看每个像素.

iphone uiimage ios

5
推荐指数
1
解决办法
2159
查看次数

使用来自多个视图控制器的自定义UIView

我创建了一个自定义UIView,我想在我的iPhone应用程序中的多个不同视图控制器上使用它.目前,我已经复制了包含第一个视图控制器的nib文件中的控件的UIView,将其粘贴到其他视图控制器中,然后将所有操作连接到每个视图控制器.这工作正常,但不是我想使用此自定义视图的最佳方式.

我的自定义视图相当简单,它由一些带标签的UIButtons组成,点击这些按钮可触发更改视图控制器视图上控件内容的操作.

什么是巩固这个UIView的定义和用法的策略?理想情况下,我想从视图控制器的nib中引用此自定义视图,并让我的视图控制器响应此自定义视图中的操作.

编辑:好的,基于J.Biard的建议,我尝试了以下运气并没有太多运气.

我创建了另一个基于UIView的nib文件,其中包含我的可重用视图和UIView子类.m和.h文件的内容(现在只是一些UIButton对象),然后将nib文件的Owner类设置为我新创建的类名.

然后,我添加了来自J.Biard的大部分代码(我将rect更改为50,50,100,100,暂时将setDelegate排除在外,因为我现在只是想让它在视觉上工作,我发现[自我.查看addSubview:view]比[self addSubView:view]更好地工作到应用程序启动时显示的第一个视图控制器的viewDidLoad方法的末尾.

我现在得到的是我的主视图,其中有一个黑色方块.我在某个地方错过了一个插座,还是在UIView子类中的initWithFrame或drawRect中需要初始化?

iphone cocoa-touch

4
推荐指数
1
解决办法
7118
查看次数

iPhone应用程序上的Clang静态分析器显示最新版本的错误

当我通过版本252检查器二进制文件运行我的代码时,没有分析错误.但是,当我更改为使用最新的253检查程序时,它会返回一系列错误,所有错误都没有任何意义.例如,以下是扫描构建脚本完成后在Safari浏览器中显示的错误图像:

Clang静态分析仪错误

这是一个非常常见的错误,显示在错误列表中.正如您所看到的,方法名称在其末尾具有"复制",但它仍然报告为命名错误.

以下是我使用检查器版本253获得的错误细分:

Bug Summary

Results in this analysis run are based on analyzer build checker-253.

Bug Type    Quantity
All Bugs    83  

Dead code   
Unreachable code    17  

Memory (Core Foundation/Objective-C)    
Bad release 19  
Leak of returned object 23  
Object sent -autorelease too many times 24
Run Code Online (Sandbox Code Playgroud)

自动释放错误似乎与分析器无法看到复制方法实际上正确命名的事实有关,我试图寻找无法访问代码的示例,但我无法找到任何模式或解释错误,因为错误是简单if语句中的所有代码行.这是一个例子:

又一个Clang分析仪错误

我想这可能是最新版本的checker中引入的一些错误导致这些错误显示为错误.是否有其他东西(某种构建设置或扫描构建脚本的问题),我可能会在这里丢失?

iphone objective-c clang-static-analyzer

3
推荐指数
1
解决办法
397
查看次数

iPhone/iOS isEqualToString总是返回false

我在我的应用程序中有一个简单的isEqualToString测试,由于某种原因,它始终采用if语句的错误路径,即使控制台显示它应该采用真正的路径.

以下是有问题的代码:

- (void)requestFailed:(ASIHTTPRequest *)request
{   
    NSError *error = [request error];

    NSLog(@"Program requestFailed with error '%@' and reason '%@'", [error localizedDescription], [error localizedFailureReason]);

    NSString *errorMessage = [NSString stringWithFormat:@"%@",[error localizedDescription]];
    if ([[error localizedFailureReason] isEqualToString:@"(null)"])
    {
    }
    else
    {
        errorMessage = [errorMessage stringByAppendingFormat:@"\nReason: %@", [error localizedFailureReason]];
    }

    [Utils msgBox:@"Error with Data Download" message:errorMessage];
}
Run Code Online (Sandbox Code Playgroud)

在控制台中:

2011-04-15 14:27:07.341 Program[79087:207] Program requestFailed with error 'The request timed out' and reason '(null)'
2011-04-15 14:27:07.341 Program[79087:207] Displaying a message box with title 'Error with Data Download' …
Run Code Online (Sandbox Code Playgroud)

nsstring ios4 ios

3
推荐指数
1
解决办法
3143
查看次数

无法在我的iOS应用中使用"在MyApp中打开"以使用PNG或JPG邮件附件

以下是我的应用程序的info.plist文件的相关内容:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array>
            <string>icon_72x72.png</string>
        </array>
        <key>CFBundleTypeName</key>
        <string>MyApp File</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.myapp.export</string>
            <string>com.myapp.backup</string>
            <string>com.adobe.pdf</string>
            <string>public.comma-separated-values-text</string>
            <string>public.jpeg</string>
            <string>public.png</string>
            <string>com.microsoft.excel.xls</string>
        </array>
    </dict>
</array>
Run Code Online (Sandbox Code Playgroud)

当我尝试在Mail中点击并按住XLS,CSV或PDF附件时,"在MyApp中打开"选项会显示,并且一切正常,因为我的app委托的openURL方法被触发.但是,当我点击并按住Mail中的PNG或JPG附件时,我无法在我的应用中打开该选项.

我需要更改一些其他设置才能在我的应用中打开图像吗?我完全混淆了为什么有些内容类型有效,有些则没有.

我已经看到了相当多的Apple文档和其他SO问题和博客文章,但仍然无法使其正常工作,所以请不要只指出类似的未回答的SO问题或Apple文档.

file-type ios

2
推荐指数
1
解决办法
1215
查看次数

在组框内选择VB.NET默认单选按钮

我有一个WinForms应用程序(VS 2008,.NET 3.5),它有一个带有两个不同组框的表单,每个组框内部是不同的单选按钮组.当我运行应用程序时,第一个组框自动选中其中的第一个单选按钮,第二个组框默认没有选中单选按钮.

我查看了单选按钮和组合框的所有属性,但无法弄清楚两者之间的区别.我希望两个分组框在首次打开表单时取消选择所有单选按钮.

此外,我查看了Designer.vb文件中的表单,并且在那里找不到任何异常.

.net vb.net winforms

1
推荐指数
2
解决办法
3万
查看次数

使用fmdb写入sqlite db?

好吧我知道fmdb已经完全过时了,核心数据就在它的位置,但是现在,我只需要调整一个我正在使用的应用程序,它使用fmdb从资源文件夹中的sqlite数据库中读取.

我需要能够写入我的数据库.执行查询的最佳方法是什么?我尝试过做同样的事情,从db读取:

FMResultSet * set = [[UIApp database] executeQuery:[customQueries selectAll], book];
Run Code Online (Sandbox Code Playgroud)

我将字符串selectAll从SELECT语句更改为INSERT INTO语句,并将变量book传递给insert,但这似乎不起作用......

我错过了什么?为了能够写入我的sqlite db,我该怎么做?谢谢!

database sqlite iphone insert fmdb

0
推荐指数
1
解决办法
2251
查看次数