所以,作为我学习Swift的努力的一部分,我得到了开源的#34;冒险"项目(找到HERE)由Apple提供。
令人尴尬的是,在我遇到第一个困境之前,我并没有走得太远。当我尝试编译项目时,我收到以下错误:
' UIApplicationMain'属性不能在包含顶级代码的模块中使用
具体来说,错误发现在AppDelegate.swift
文件中,属性在import UIKit
声明后立即出现,如下所示:
import UIKit
@UIApplicationMain
class AppDelegate: NSObject, UIApplicationDelegate {
var window: UIWindow?
....
// a number of functions that I won't list here...
....
}
我对此进行了一些研究,但可以理解的是(?)似乎没有关于这个问题的大量信息。我想知道是否有人遇到过同样的问题。
(顺便说一句,我使用的是Xcode6-beta5)
编辑1 --------------
现在全新安装Beta6,编译后出现以下错误:
架构x86_64的未定义符号: " TFSs15_arrayForceCastU ___ FGSaQ__GSaQ0 ",引自: HeroCharacter.o中的__TFC9Adventure13HeroCharacter20animationDidCompletefS0_FOS_14AnimationStateT_ HeroCharacter.o中的__TFC9Adventure13HeroCharacter14fireProjectilefS0_FT_T_ Cave.o中的__TFC9Adventure4Cave15applyCaveDamagefS0_FTSd10projectileCSo6SKNode_T_ Cave.o中的__TFC9Adventure4Cave12performDeathfS0_FT_T_ Cave.o中的__TFFC9Adventure4Cave16loadSharedAssetsFMS0_FT_T_U_FT_T_ Goblin.o中的__TFC9Adventure6Goblin20animationDidCompletefS0_FOS_14AnimationStateT_ 在Goblin.o中__TFFC9Adventure6Goblin16loadSharedAssetsFMS0_FT_T_U_FT_T_ ... " __ TFSsoi1aUSs17_RawOptionSetType_USs21BitwiseOperationsTypeSs9Equatable__FTQ_Q__Q _",引自: LayeredCharacterSceneOSXEvents.o中的__TFC9Adventure21LayeredCharacterScene14handleKeyEventfS0_FTCSo7NSEvent7keyDownSb_T_ " __ TFVSC6CGSizeCfMS_FT5widthSd6heightSd_S _",引自: Archer.o中的__TFFC9Adventure6Archer16loadSharedAssetsFMS0_FT_T_U_FT_T_ ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1
我甚至都没想去猜测这些错误的含义。
答案 0 :(得分:1)
显然 Adventure 项目在Xcode6-Beta5中无法正确编译。但是,Xcode6-Beta6编译并运行它就好了。
至于升级到Beta6后遇到的错误,解决方法是删除项目的派生数据。要执行此操作,请打开管理器("窗口"菜单 - >"管理器"),选择"冒险"在窗口左侧的项目,然后单击"删除"与项目的派生数据相关联的按钮(应该是最右边的顶部)。
答案 1 :(得分:0)
对我来说,似乎还有一个名为main.swift的文件与我的AppDelegate冲突。我删除了它,问题就消失了。