因此,作为我学习Swift的努力的一部分,我得到了苹果提供的开源“冒险”项目(found 这里)。
令人尴尬的是,在我陷入第一个困境之前,我并没有走多远。当我试图编译该项目时,我得到了以下错误:
“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: x86_64参考来源:__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_戈布林的"__TFSsoi1aUSs17_RawOptionSetType_USs21BitwiseOperationsTypeSs9Equatable__FTQ_Q__Q_",. FT_T_引用来源:__TFC9Adventure21LayeredCharacterScene14handleKeyEventfS0_FTCSo7NSEvent7keyDownSb_T_ in LayeredCharacterSceneOSXEvents.o "__TFVSC6CGSizeCfMS_FT5widthSd6heightSd_S_",引用于:__TFFC9Adventure6Archer16loadSharedAssetsFMS0_FT_T_U_FT_T_ in archer.ld:符号(S)未找到用于体系结构的x86_64 clang: x86_64: linker命令失败,退出代码1
我甚至不想猜测这些错误意味着什么。
发布于 2014-08-26 03:16:32
显然,冒险项目在Xcode6-Beta5中没有正确编译。但是,Xcode6-Beta 6编译并运行它非常好。
至于升级到Beta6后遇到的错误,修复方法是删除项目的派生数据。为此,打开组织者(“窗口”菜单->“组织者”),选择窗口左侧的“冒险”项目,然后单击与项目派生数据相关联的“删除”按钮(应该是最右边的)。
发布于 2017-09-13 11:19:35
对我来说,似乎有另一个名为main.swift的文件与我的AppDelegate冲突。我把它删除了,这个问题就消失了。
https://stackoverflow.com/questions/25495740
复制相似问题