在Yosemite,Xcode 6.1下Swift编程Undefined symbols for architecture arm64报错解决
来源:互联网 发布:指尖海报制作软件 编辑:程序博客网 时间:2024/05/21 22:23
接收同事一个未做完的项目,checkout下来后编译(直接跑的workSpace文件),出现奇怪的某些库不支持64位架构的链接错误,一直以为是该库不支持64位架构,但是取消该库关联后仍然出现其他库也不支持64位架构的情况,但是在我印象中那些库都是支持的,遂感觉非常奇怪。例如下面显示的谷歌分析库不支持64位架构。
Undefined symbols for architecture arm64: "_sqlite3_close", referenced from: -[TAGDataLayerPersistentStoreImpl closeDatabase] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_prepare_v2", referenced from: -[TAGDataLayerPersistentStoreImpl prepareSql:description:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_bind_int", referenced from: -[TAGDataLayerPersistentStoreImpl deleteEntries:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_column_int64", referenced from: -[TAGDataLayerPersistentStoreImpl peekEntryIds:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) -[TAGDataLayerPersistentStoreImpl numStoredEntries] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_bind_int64", referenced from: -[TAGDataLayerPersistentStoreImpl writeEntriesToDatabase:expireTime:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) -[TAGDataLayerPersistentStoreImpl peekEntryIds:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) -[TAGDataLayerPersistentStoreImpl deleteEntriesOlderThan:] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_column_bytes", referenced from: -[TAGDataLayerPersistentStoreImpl loadSerialized] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_open", referenced from: -[TAGDataLayerPersistentStoreImpl openDatabaseAndInitStatements] in libGoogleAnalyticsServices.a(TAGDataLayerPersistentStoreImpl.o) "_sqlite3_reset", referenced from:
上stackover查找原因(百度太弱了,还是老外强大),很多都说可能是cocoapods不是最新啊,好,那就更新到最新,还是不行;有些说需要卸载cocoapods然后重新装一次,还是不行啊;那就从源头开始试试,既然不支持64位,那我就update最新的谷歌分析库吧,在profile文件中将 谷歌分析部分改成 pod 'GoogleAnalytics-iOS-SDK' 默认拉取最新的库,编译。。。该错误再次出现,抓狂中,,,没办法了,继续stackover,终于找到了有类似遭遇的,,哈哈~遂试试看,没有链接错误了,,,但是蹦出新错误,,,
Code Sign error: No matching provisioning profiles found: None of the valid provisioning profiles allowed the specified entitlements: com.apple.security.application-groups.,ok,这种错误一看就知道是账号问题啦,由于使用了App Extesion 功能,那么取消App Groups 关联,重新关联一下,编译通过。
原版回答:
I have Updated on Yosemite, Xcode 6.1. I have updated gem xcodeproj (0.19.4) and cocoapods (0.34.4).
I have resolve my conflict by :
Clearing the Library/Developer/Xcode/DerivedData folder
replace in Target -> Build Settings -> Linking -> Other Linker Flags : $(OTHER_LDFLAGS)
Check in Target -> Build Phases -> Copy Pods Resources : "${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh"
另:老外还给出了xcode 编译swift 程序流程,mark一下~
参见地址:http://stackoverflow.com/questions/25765352/xcode-6-linker-error-undefined-symbols-for-architecture-armv7
- 在Yosemite,Xcode 6.1下Swift编程Undefined symbols for architecture arm64报错解决
- xcode编译报错duplicate symbols for architecture arm64
- 升级Xcode到6.1之后使用iPhone6真机测试cocos2d-x报错不支持arm64的解决方案,Undefined symbols for architecture arm64 错误
- 升级Xcode到6.1之后使用iPhone6真机测试cocos2d-x报错不支持arm64的解决方案,Undefined symbols for architecture arm64 错误
- Undefined symbols for architecture arm64:
- Undefined symbols for architecture arm64:
- Undefined symbols for architecture arm64
- Undefined symbols for architecture arm64:
- Undefined symbols for architecture arm64:
- Undefined symbols for architecture arm64
- Undefined symbols for architecture arm64
- xcode下出现Undefined symbols for architecture arm64或者armv7: “_OBJC_CLASS_$_XXX
- xcode下出现Undefined symbols for architecture arm64或者armv7: “_OBJC_CLASS_$_XXX
- xcode 8在模拟器上运行报错Undefined symbols for architecture i386:
- ios Undefined symbols for architecture arm64:错误解决
- ios Undefined symbols for architecture arm64:错误解决
- ios Undefined symbols for architecture arm64:错误解决
- XCode8下一个undefined symbols for architecture arm64问题的解决
- 编程模式 - 网络
- centos svn 版本日志显示no data
- Android_自定义控件简单入门
- Java加密技术(十)——单向认证
- ASP.NET 5系列教程(七)完结篇-解读代码
- 在Yosemite,Xcode 6.1下Swift编程Undefined symbols for architecture arm64报错解决
- const关键字
- C++中this指针的用法详解
- Altium Designer PCB文件太大解决方法
- Java加密技术(十一)——双向认证
- 如何在本地环境下使用cloud镜像
- static用法小结
- 网络编程总结
- 解决安装OpenShift Client Tools时提示的dl/import (LoadError)问题