Tag: Xcode

如何从xcode获取自己的应用程序版本?

我想知道在将代码放入xCode中的“Summary”选项卡后,是否有办法在代码中获取自己的应用程序版本。 一种方法似乎是searchInfo.plist的CFBundleVersion键,但有没有其他更简单,更方便的方法?

Xcode中的体系结构的重复符号

这是编译时收到的错误信息… Ld /Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Products/Debug-iphonesimulator/MasterDetail.app/MasterDetail normal i386 cd /Users/ilia3546/Проекты/iDecide setenv IPHONEOS_DEPLOYMENT_TARGET 5.0 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -L/Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Products/Debug-iphonesimulator -F/Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Products/Debug-iphonesimulator -filelist /Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Intermediates/MasterDetail.build/Debug-iphonesimulator/MasterDetail.build/Objects-normal/i386/MasterDetail.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.0 -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Products/Debug-iphonesimulator/MasterDetail.app/MasterDetail duplicate symbol _main in: /Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Intermediates/MasterDetail.build/Debug-iphonesimulator/MasterDetail.build/Objects-normal/i386/main-E0BAF2CA88EDEE32.o duplicate symbol _OBJC_IVAR_$_MasterDetailAppDelegate._window in: /Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Intermediates/MasterDetail.build/Debug-iphonesimulator/MasterDetail.build/Objects-normal/i386/MasterDetailAppDelegate-C2C06F734ECE2E36.o duplicate symbol _OBJC_IVAR_$_MasterDetailAppDelegate._navigationController in: /Users/ilia3546/Library/Developer/Xcode/DerivedData/MasterDetail-fhgogwnbpzovbtaskgecptdnvgjs/Build/Intermediates/MasterDetail.build/Debug-iphonesimulator/MasterDetail.build/Objects-normal/i386/MasterDetailAppDelegate-C2C06F734ECE2E36.o duplicate symbol […]

使用 pathForResource:ofType:inDirectory访问文件:

我有一个名为TextFiles的文件夹中添加了一个TextFiles文件,这个文件夹位于Xcode的iOS项目的Resources文件夹中。 这是我用来访问文件的代码: NSString* filePath = [[NSBundle mainBundle] pathForResource:@"paylines" ofType:@"txt" inDirectory:@"TextFiles"]; NSLog(@"\n\nthe string %@",filePath); 代码打印: 2011-06-07 14:47:16.251 slots2[708:207] the string (null)

UISegmentedControl取消select(不select任何段)

实际上标题包含我的问题。 我有一个UISegmentedControl,并需要取消select当前选定的选项卡。 我试过了: [menu setSelectedSegmentIndex:-1]; 菜单是uisegulatedcontrol的UBOutlet,但是这给了我例外。 任何人有一些想法? 谢谢彼得

Xcode 8添加布局边距崩溃

当我尝试添加布局边距到TableViewCell上的标签,使用Xcode上的右侧面板时,我尝试添加显式边距(顶部,左侧,底部,右侧)。 但是,只要我input一个数字值,或点击箭头来改变值,Xcode崩溃。 我附上了一张照片来显示我正在尝试添加布局边距的面板,以及它在哪里崩溃。 任何想法,为什么它不会让我调整利润率?

UICollectionView像Springboard一样的文件夹

我试图达到以下效果: UICollectionView显示父types对象的单元格网格,例如相册。 当我点击这些项目中的一个时,我想将该元素滚动到屏幕的顶部,并从中打开一个像跳板一样的文件夹。 在该文件夹区域内,应显示另一个集合,包括详细信息,即该专辑的各个照片。 在剩余的“父”视图中点击再次closures该文件夹。 看到这个模式: 到目前为止,我所做的是定期收集相册的视图。 当我select一个,它滚动到选定的项目顶部,然后使用JWFolders在该地方打开一个空的文件夹。 一旦显示,我触发周围的UINavigationController推我的第二个视图控制器的细节项目。 那个被放下,所以用户看起来好像还是一样的。 这种方法有几个问题,我想知道如何更好地做到这一点: JWFolders截图并向上/向下animation的两半来实现开放效果。 这是可以的,但在iPad3上很慢,因为它移动了很多像素,而且iPad3的GPU还不能完成任务。 第二个视图需要像素完美匹配的第一个顶部。 这很可能会意外中断。 我对视图控制器转换的animation是有限的。 默认的UINavigationController从右侧推入并不合适。 我忽略了做一个交叉溶解,但仍然是非常不理想的。 我想指出如何以可维护的方式来处理这个问题,而不需要对框架devise要做的事情进行太多的创造性攻击。 我可能会在这里忽略一些显而易见的东西,所以我们对这个例子或者一般性的build议有所指导 更新: 我改变了一下方法。 现在我使用具有两个embedded式集合视图控制器的容器视图控制器。 一个用于“专辑”,另一个用于底部的“照片”部分。 在两者之间的中间使用UIImageView我可以得到三angular形向上完成。 从维护的angular度来看,这样做也很好,因为这样可以使两个集合完全分开处理,从而简化维护过程。 该应用程序使用自动布局,所以我可以通过修改约束来更改每个embedded视图所占用的空间量。 这比使用JWFolders的基于截图的方法快得多,并且在iPad3上也能很好地工作。 这几乎让我想去的地方。 剩下的一件事就是让开场animation正确。 我想同时滚动“专辑”collections集,以便点击的项目将显示在顶部,并使用指向“相册”单元格的三angular形展开照片collections集。 我可以以某种方式通过布局约束“连接”下部视图到该单元格,以便scrollToItemAtIndexPath:atScrollPosition:animated: call拖动下部视图打开?

Xcode 4.6中的“po”命令第一次非常慢

我升级到Xcode 4.6,每当我debugging,我第一次执行“宝”来检查一个对象,debugging器需要1分钟返回。 之后,每一个“宝”命令都会照常运行。 你们也看到了吗? 任何修复? 谢谢

Cordova:意外机器代码 – 您的上传包含位代码和本地机器代码

我正在构build一个iOS Cordova应用程序。 当我将它上传到iTunes Connect时,它会返回以下错误。 意外的机器码 – 您的上传包含位码和本地机器码。 当你提供位码时,也没有必要包含机器码。 要减less上传的大小,请使用Xcode 7.3或更高版本,或任何其他删除机器代码的工具链。 我今天在config.xml改变了很多设置,所以我不确定自己是否做了错误的事情,并且是某种新的iTunes Connect事情。 据我了解,修改它在Xcode中的一些设置是很容易的,但我想避免碰到Xcode – 有没有办法使用config.xml来修复它? 谢谢 UPDATE 那么,这似乎是一个苹果的问题 – 我能够提交一个构build这样的警告给TestFlight,实际上通过TestFlighttesting,并提交给AppStore。 它还没有通过苹果的审查,但我相信这将是好的,通常情况下,在二进制文件的任何实际问题的情况下,构build立即被拒绝。 更新2 具有这种警告的应用程序(实际上有3个应用程序)实际上已经通过AppStore审查并上市销售。 所以我相信这个问题可以放心的忽略。

Xcode 6:生成挂起和界面生成器Cocoa Touch Tool开始分配所有的RAM

我有一个问题,我没有find一个解决scheme,只是通过在这里或谷歌search。 我正在构build一个由多个开发人员共享的项目。 出于某种原因,我是唯一一个这个问题。 我检查了几次代码,甚至重新安装Xcode。 那么会发生什么呢,当我build立这个项目的时候,构build过程会一直挂起。 称为“Interface Builder Cocoa Touch Tool”的进程运行并开始累计RAM,直到达到Mac的极限(16 GB)。 在这一点上,只要我看到我杀了进程,构build失败。 在控制台应用程序,我看到这个: 2014-10-02 4:45:16.013 PM Interface Builder Cocoa Touch Tool[875]: BUG in libdispatch client: kevent[EVFILT_VNODE] add: "Bad file descriptor" – 0x9 2014-10-02 4:45:17.956 PM Interface Builder Cocoa Touch Tool[875]: assertion failed: 13F34: libxpc.dylib + 29453 [75E30F22-514B-3A20-B82C-EDA43AF5C35C]: 0x8d 在Xcode上,我看到构build卡住了“编译1个故事板文件之一”,或者“编译1个资产目录中的1个”。 即使停止构build,“Interface Builder Cocoa Touch Tool”进程也将继续运行并累积RAM。 我看到两个与故事板有关的警告: […]

目标行动devise模式在ARC下变得糟糕吗?

多年来,我一直在追踪一个名为Target-Action的伟大模式,如下所示: 一个对象在时间到来时调用指定的目标对象上的指定select器。 这在很多不同的情况下非常有用,你需要一个简单的callback方法。 这是一个例子: – (void)itemLoaded { [specifiedReceiver performSelector:specifiedSelector]; } 在ARC之下,现在我们发现这样做突然变得危险了。 Xcode抛出一个警告,如下所示: PerformSelector可能会导致泄漏,因为它的select器是未知的 当然,select器是未知的,因为作为Target-Actiondevise模式的一部分,您可以指定任何您想要的select器,以便在发生有趣的事情时接听电话。 这个警告最让我感到困惑的是它说可能会有潜在的内存泄漏。 根据我的理解,ARC不会弯曲内存pipe理规则,而只是在正确的位置自动插入保留/释放/自动释放消息。 另外需要注意的是:-performSelector:有一个id返回值。 如果该方法返回+1保留计数对象,则ARC通过应用命名约定来分析方法签名。 在这种情况下,ARC不知道select器是否是-newFooBar工厂,或者只是调用一个不可靠的工作者方法(反正Target-Action几乎总是这样)。 其实ARC应该已经认识到我不期望有一个返回值,因此忘记了任何潜在的+1保留计数的返回值。 从这个angular度来看,我可以看到ARC从哪里来,但仍然存在着太多的不确定性,这在实践中意味着什么。 那现在是否意味着在ARC之下会出现什么问题呢? 我不明白这是如何产生内存泄漏的。 有人可以举例说明这样做的危险性,以及在这种情况下如何产生泄漏? 我真的从互联网上下了地狱,但没有find任何网站解释为什么 。