我安装了Xcode 6,但意识到我只能为iOS8开发.我知道这个beta开发工具包适用于iOS 8 beta版本的开发,但是我处于一个我没有时间为它开发但希望利用Xcode的一些新功能的位置.我正在开发我目前的iOS 7应用程序.
如何在xcode 6上安装iOS 7 SDK?
我正在使用Xcode-6探索Swift,到目前为止一直都很好,尽管我认为新的集合需要一些工作,因为我已经设法打破了编译器几次.
问题是我现在卡住尝试创建框架包然后在另一个项目中使用.项目构建没有问题,所有测试都成功通过.当我去创建Archive(我假设是必需的)时,我收到错误:
:0:错误:未找到基础Objective-C模块"Sample"
现在我假设这与我的Sample.h的内容有关,它告诉我
// In this header, you should import all the public headers of your framework using statements like #import <Sample/PublicHeader.h>
Run Code Online (Sandbox Code Playgroud)
这很好,除了我只使用了swift枚举,结构和类这个框架,因此没有.h文件存在.
任何人都可以对这一点有所了解,因为我找不到任何文件吗?
这是"构建选项"下的新设置.它有什么作用?我似乎无法找到任何有关它的文档.我的猜测是:它是否必须YES在混合的Objective-C/Swift应用程序中设置为告诉Xcode链接Swift运行时?
环境:Swift,Xcode 6
如何获取Swift数组的数据项列表(po)?
以下是用于构建简单数组的Swift代码:
kindArray += "Two"
kindArray.append("Two")
var myStringArray: String[]
myStringArray = ["One", "Two"]
myStringArray.append("Three")
myStringArray += "Four"
var firstItem = myStringArray[0]
Run Code Online (Sandbox Code Playgroud)
这是调试输出:
(lldb) po firstItem
"One"
(lldb) po kindArray
Some
{
Some = 0x0ffb0000 {}
}
(lldb) po myStringArray
size=1
{
[0] = {
core = {
_baseAddress = Builtin.RawPointer = 0x00000008
_countAndFlags = 34718
_owner = Some {
Some = (instance_type = Builtin.RawPointer = 0x80000003)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的只是'一些'和'大小'.
我想展示一下内容.
我的测试动态iOS框架XYZFramework由一个类组成XYZ.
但是,即使在声明之后:
import XYZFramework
Run Code Online (Sandbox Code Playgroud)
我无法访问此类,任何尝试都会产生以下错误:
Use of unresolved identifier 'XYZ'
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我遇到了一个问题,我无法通过在这里或在Google上搜索来找到解决方案.
我正在构建一个由多个开发人员共享的项目.出于某种原因,我是唯一有这个问题的人.我多次检查了代码,甚至重新安装了Xcode.
所以当我构建项目时,构建过程将永远挂起.一个名为"Interface Builder Cocoa Touch Tool"的进程运行并开始累积RAM,直到达到Mac的限制(16 GB).此时,只要我看到我终止进程并且构建失败.
在控制台应用程序上,我看到:
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
Run Code Online (Sandbox Code Playgroud)
在Xcode上,我看到构建卡在"编译1个故事板文件中的1个"或"编译1个1资产目录"中.
即使我停止构建,"Interface Builder Cocoa Touch Tool"进程仍将继续运行并累积RAM.
我确实看到了与故事板有关的两个警告:
Base.lproj/MainStoryboard.storyboard Frame for "Scroll View" will be different at run time.
Base.lproj/MainStoryboard.storyboard: warning: Unsupported Configuration: Prototype table cells must have reuse identifiers
Run Code Online (Sandbox Code Playgroud)
我看到资产的两个警告:
../Images-2.xcassets: A 57x57 app icon is …Run Code Online (Sandbox Code Playgroud) 我们在XCode 6中引入了这个新的宏:NS_DESIGNATED_INITIALIZER
我在网上搜索,但无法找到任何关于如何使用它的好文档.
从语法上讲,我们可以使用它:
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
Run Code Online (Sandbox Code Playgroud)
但是使用这个宏标记初始化程序有什么可能的优点,以及使用它时我们应该注意什么?
我主要对这个宏的用例感兴趣.任何链接/文档将不胜感激.
我知道这不是一个新问题,但我尝试了许多解决方案,例如手动编辑Xcode项目文件或重命名后为目标重新创建新方案.
有人可以帮我解决这个问题如何以正确的方式复制目标然后重命名它.
现在我只是重命名方案,它按原样显示.但是当Xcode运行app时,在进度指示器下它会显示:运行ProjectName-copy.但我已重命名目标,但似乎产品名称或某些构建设置仍然在名称中有"...- copy".
我正在开发一个包含大量遗留代码的大型应用程序.目前 - 有一个实现:
- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
Run Code Online (Sandbox Code Playgroud)
问题是它仅在应用程序位于前台或用户在应用程序处于后台时点击通知时调用.我试图实现:
- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Run Code Online (Sandbox Code Playgroud)
但该应用程序的行为相同.在任何情况下 - 当应用程序在后台时,不会调用此方法.可能是什么问题呢?
我试图将预发布版本上传到iTunes,以便将其与新的iTunes TestFlight集成一起使用.
我持续集成构建设置的方式是每个版本都使用git commit short hash标记.
例:
Version: 1.7.6
Build Version: 1.7.6.4ABD89A
提交时我一直收到以下错误:
ERROR ITMS-4236: "Invalid value '1.7.6 (4ABD89A)' for bundle_version at SoftwareAssets
我已经尝试了不同的格式,如:1.7.6.4ABD89A,1.7.6 (4ABD89A)和1.7.6 [4ABD89A]
我想知道是否有人之前有这个问题,如果不是这些格式是可以接受的?
xcode6 ×10
xcode ×7
ios ×6
swift ×4
cocoa ×1
cocoa-touch ×1
debugging ×1
frameworks ×1
ios7 ×1
objective-c ×1