因此,作为学习 Swift 的一部分,我接触到了 Apple 提供的开源“Adventure”项目(在此处找到)。
尴尬的是,我没走多远,就遇到了第一个困境。当我尝试编译项目时,出现以下错误:
'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", referenced from: __TFC9Adventure13HeroCharacter20animationDidCompletefS0_FOS_14AnimationStateT_ in HeroCharacter.o __TFC9Adventure13HeroCharacter14fireProjectilefS0_FT_T_ in HeroCharacter.o __TFC9Adventure4Cave15applyCaveDamagefS0_FTSd10projectileCSo6SKNode_T_ in Cave.o __TFC9Adventure4Cave12performDeathfS0_FT_T_ in Cave.o __TFFC9Adventure4Cave16loadSharedAssetsFMS0_FT_T_U_FT_T_ in Cave.o __TFC9Adventure6Goblin20animationDidCompletefS0_FOS_14AnimationStateT_ in Goblin.o __TFFC9Adventure6Goblin16loadSharedAssetsFMS0_FT_T_U_FT_T_ in Goblin.o ... "__TFSsoi1aUSs17_RawOptionSetType_USs21BitwiseOperationsTypeSs9Equatable__FTQ_Q__Q_", referenced from:__TFC9Adventure21LayeredCharacterScene14handleKeyEventfS0_FTCSo7NSEvent7keyDownSb_T_ in LayeredCharacterSceneOSXEvents.o "__TFVSC6CGSizeCfMS_FT5widthSd6heightSd_S_", referenced from: __TFFC9Adventure6Archer16loadSharedAssetsFMS0_FT_T_U_FT_T_ in Archer.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1
我什至不打算猜测这些错误的含义。