我刚刚更新了一个项目,使用ARC和Xcode 4.2内置转换工具.不幸的是,有一个奇怪的错误出现,我不明白,也没有找到任何关于.我有一个带有属性声明的文档类:
@property (weak) IBOutlet WebView *webView;
Run Code Online (Sandbox Code Playgroud)
在实现文件中,我有一个@synthesize语句:
@synthesize webView=_webView;
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,它会失败并告诉我:
错误:仅在ARC或GC模式下允许'弱'属性的@synthesize
当然,该项目被标记为使用ARC进行编译.我非常感谢任何帮助,以了解我做错了什么以及为什么.
编辑:昨天晚了.所以这是一个更完整的编译日志:
[...] -fobjc-arc -Wno-trigraphs -fpascal-strings -O0 -Wmissing-prototypes -Wreturn-type -Wharentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Whorten-64- to-32 -DDEBUG = 1 -isysroot /Developer/SDKs/MacOSX10.7.sdk -fasm-blocks -mmacosx-version-min = 10.7 -gdwarf-2 -Wno-sign-conversion"-DIBOutlet = attribute((iboutlet) )""-DIBOutletCollection(ClassName)= attribute((iboutletcollection(ClassName)))"" - DIBAction = void)属性((ibaction)" - iquote [...]/Build/Intermediates/[...].build /Debug/[...].build/[...]-generated-files.hmap -I [...]/Build/Intermediates/[...].build/Debug/[...]. build /[...]- own-target-headers.hmap -I [...]/Build/Intermediates/[...] .build/Debug/[...].build/[...] -all-target-headers.hmap -iquote [...]/Build/Intermediates/[...] .build/Debug/[...].build /[...]- project-headers.hmap - 我[/]/Build/Products/Debug/include -I [...]/Build/Intermediates/[...].build/Debug/[...].build/DerivedSources/x86_64 -I [ ...] /编译/中间体/ [...].构建/调试/ [...].构建/ DERI …
我已经无数次地为iOS应用程序进行了代码签名和提交.这次它让我对Mac App Store感到震惊.我反复收到相同的错误消息:
"我的名字"是一个有效的身份.但是,您没有关联的包标识.
我已经在堆栈溢出中认识到这两个主题: mas-code-signing-identity-private-key和mac-app-package-identity-not-installed
里面没有任何东西能解决我的问题.
多数民众赞成我(最可靠)重现这个信息:
"我的名字"是一个有效的身份.但是,您没有关联的包标识.
我找不到任何指向术语"包标识"实际含义的指针.对我来说最令人沮丧的是,关于代码签名和提交过程的Apples文档中的术语混乱对我来说不是很清楚和准确.至少不像关于iOS App提交的相同过程的文档那样清晰和精确(使用完全不同的术语).
可能我明白了什么问题?Thanx提前任何帮助或指针.