Parse for iOS:尝试运行应用程序时出错(38 个错误)

Posted

技术标签:

【中文标题】Parse for iOS:尝试运行应用程序时出错(38 个错误)【英文标题】:Parse for iOS: Errors when trying to run the app(38 errors) 【发布时间】:2015-10-04 07:37:52 【问题描述】:

我使用 Parse SDK 和 Facebook。当我尝试运行该应用程序时,出现 38 个错误... 关于为什么的任何想法? 请告诉我如何解决它。找到了关于使用libspl3.dylib解决“splite3◯◯◯_◯◯◯”的文章,引用自:~~。 但 ios 9 没有 libspl3.dylib。我使用了 _sqlite3.tdb。但我无法解决。 (对不起,我的英语很差。)

架构 arm64 的未定义符号:“_sqlite3_column_count”, 参考自: - [PFSQLiteDatabaseResult columnNameToIndexMap] in Parse(PFSQLiteDatabaseResult.o) "_sqlite3_column_name",引用 从: - [PFSQLiteDatabaseResult columnNameToIndexMap] in Parse(PFSQLiteDatabaseResult.o) "_sqlite3_column_type",引用 从: - [PFSQLiteDatabaseResult objectForColumnIndex:] 解析(PFSQLiteDatabaseResult.o) - [PFSQLiteDatabaseResult columnIndexIsNull:] in Parse(PFSQLiteDatabaseResult.o) "_sqlite3_column_blob",引用 从: - [PFSQLiteDatabaseResult dataForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) "_sqlite3_bind_blob",引用 从: - [PFSQLiteDatabase _bindObject:toColumn:inStatement:] in Parse(PFSQLiteDatabase.o) "_sqlite3_bind_null",引用自: - [PFSQLiteDatabase _bindObject:toColumn:inStatement:] in Parse(PFSQLiteDatabase.o) "_sqlite3_bind_double",引用自: - [PFSQLiteDatabase _bindObject:toColumn:inStatement:] 解析(PFSQLiteDatabase.o) (也许您的意思是:_fbsdkdfl_sqlite3_bind_double)“_sqlite3_bind_int64”,引用自: - [PFSQLiteDatabase _bindObject:toColumn:inStatement:] 解析(PFSQLiteDatabase.o)“_sqlite3_bind_parameter_count”, 参考自: -[PFSQLiteDatabase _executeQueryAsync:withArgumentsInArray:cachingEnabled:] 在 Parse(PFSQLiteDatabase.o) “_OBJC_CLASS_$_FBSessionTokenCachingStrategy”,引用自: ParseFacebookUtils 中的 _OBJC_CLASS_$_PFFacebookTokenCachingStrategy(PFFacebookTokenCachingStrategy.o) “_FBTokenInformationUserFBIDKey”,引用自: - [PFFacebookTokenCachingStrategy facebookId] 在 ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) - [PFFacebookTokenCachingStrategy setFacebookId:] 在 ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) “_FBTokenInformationExpirationDateKey”,引用自: - [PFFacebookTokenCachingStrategy cacheTokenInformation:] ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) - [PFFacebookTokenCachingStrategy expireDate] 在 ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) - [PFFacebookTokenCachingStrategy setExpirationDate:] 在 ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) “_sqlite3_column_int”,引用自: - [PFSQLiteDatabaseResult intForColumnIndex:] 解析(PFSQLiteDatabaseResult.o) (也许您的意思是:_fbsdkdfl_sqlite3_column_int)“_SCNetworkReachabilityGetFlags”,引用自: ___54-[PFReachability _startMonitoringReachabilityWithURL:]_block_invoke in Parse(PFReachability.o) "_SCNetworkReachabilitySetCallback", 参考自: - [PFEventuallyQueue _stopMonitoringNetworkReachability] 解析(PFEventuallyQueue.o) - [PFReachability dealloc] 在 Parse(PFReachability.o) ___54-[PFReachability _startMonitoringReachabilityWithURL:]_block_invoke in Parse(PFReachability.o) "_sqlite3_clear_bindings",引用自: ___34-[PFDateFormatter dateFromString:]_block_invoke in Parse(PFDateFormatter.o) "_AudioServicesCreateSystemSoundID", 参考自: +[PFPushUtilities playAudioWithName:] in Parse(PFPushUtilities.o) (也许您的意思是:_fbsdkdfl_AudioServicesCreateSystemSoundID)“_OBJC_METACLASS_$_FBSessionTokenCachingStrategy”,引用自: ParseFacebookUtils 中的 _OBJC_METACLASS_$_PFFacebookTokenCachingStrategy(PFFacebookTokenCachingStrategy.o) “_AudioServicesPlaySystemSound”,引用自: +[PFPushUtilities playAudioWithName:] in Parse(PFPushUtilities.o) +[PFPushUtilities playVibrate] in Parse(PFPushUtilities.o) (也许您的意思是:_fbsdkdfl_AudioServicesPlaySystemSound)“_sqlite3_bind_text”,引用自: ___34-[PFDateFormatter dateFromString:]_block_invoke in Parse(PFDateFormatter.o) - [PFSQLiteDatabase _bindObject:toColumn:inStatement:] 解析(PFSQLiteDatabase.o) (也许你的意思是:_fbsdkdfl_sqlite3_bind_text)“_sqlite3_column_int64”,引用自: ___34-[PFDateFormatter dateFromString:]_block_invoke in Parse(PFDateFormatter.o) - [PFSQLiteDatabaseResult longForColumnIndex:] in Parse(PFSQLiteDatabaseResult.o) "_sqlite3_errmsg",引用自: - [PFSQLiteDatabase _errorWithErrorCode:] 解析(PFSQLiteDatabase.o) (也许您的意思是:_fbsdkdfl_sqlite3_errmsg)“_OBJC_CLASS_$_FBRequest”,引用自: ParseFacebookUtils 中的 objc-class-ref(PFFacebookAuthenticationProvider.o) “_OBJC_CLASS_$_FBSession”,引用自: ParseFacebookUtils 中的 objc-class-ref(PFFacebookAuthenticationProvider.o) “_FBTokenInformationTokenKey”,引用自: - ParseFacebookUtils(PFFacebookTokenCachingStrategy.o)中的[PFFacebookTokenCachingStrategy accessToken] - [PFFacebookTokenCachingStrategy setAccessToken:] 在 ParseFacebookUtils(PFFacebookTokenCachingStrategy.o) “_sqlite3_step”,引用自: ___34-[PFDateFormatter dateFromString:]_block_invoke in Parse(PFDateFormatter.o) - [PFSQLiteDatabaseResult 步骤] 在 Parse(PFSQLiteDatabaseResult.o) (也许你的意思是:_fbsdkdfl_sqlite3_step)“_sqlite3_column_double”,引用自: ___34-[PFDateFormatter dateFromString:]_block_invoke in Parse(PFDateFormatter.o) - [PFSQLiteDatabaseResult doubleForColumnIndex:] 解析(PFSQLiteDatabaseResult.o) (也许您的意思是:_fbsdkdfl_sqlite3_column_double)“_sqlite3_open”,引用自: - [PFDateFormatter init] 解析(PFDateFormatter.o) ___29-[PFSQLiteDatabase openAsync]_block_invoke in Parse(PFSQLiteDatabase.o) (也许您的意思是:_fbsdkdfl_sqlite3_open_v2)“_sqlite3_reset”,引用自: ___34-[PFDateFormatter dateFromString:]_block_invoke in Parse(PFDateFormatter.o) - [PFSQLiteStatement 重置] 在 Parse(PFSQLiteStatement.o) (也许你的意思是:_fbsdkdfl_sqlite3_reset)“_SCNetworkReachabilitySetDispatchQueue”,引用自: - [PFEventuallyQueue _stopMonitoringNetworkReachability] 解析(PFEventuallyQueue.o) - [PFReachability dealloc] 在 Parse(PFReachability.o) ___54-[PFReachability _startMonitoringReachabilityWithURL:]_block_invoke in Parse(PFReachability.o) "_sqlite3_column_bytes",引用自: - [PFSQLiteDatabaseResult dataForColumnIndex:] 在 Parse(PFSQLiteDatabaseResult.o) "_OBJC_CLASS_$_FBAppCall", 参考自: ParseFacebookUtils 中的 objc-class-ref(PFFacebookAuthenticationProvider.o) “_sqlite3_column_text”,引用自: - [PFSQLiteDatabaseResult stringForColumnIndex:] 解析(PFSQLiteDatabaseResult.o) (也许你的意思是:_fbsdkdfl_sqlite3_column_text)“_sqlite3_finalize”,引用自: - [PFDateFormatter dealloc] 解析(PFDateFormatter.o) - [PFSQLiteDatabase _executeQueryAsync:withArgumentsInArray:cachingEnabled:] 解析(PFSQLiteDatabase.o) - [PFSQLiteStatement 关闭] 在 Parse(PFSQLiteStatement.o) (也许你的意思是:_fbsdkdfl_sqlite3_finalize)“_SCNetworkReachabilityCreateWithName”,引用自: ___54-[PFReachability _startMonitoringReachabilityWithURL:]_block_invoke in Parse(PFReachability.o) "_sqlite3_close",引用自: - [PFDateFormatter dealloc] 解析(PFDateFormatter.o) ___30-[PFSQLiteDatabase closeAsync]_block_invoke in Parse(PFSQLiteDatabase.o) (也许您的意思是:_fbsdkdfl_sqlite3_close)“_sqlite3_prepare_v2”,引用自: - [PFDateFormatter init] 解析(PFDateFormatter.o) - [PFSQLiteDatabase _executeQueryAsync:withArgumentsInArray:cachingEnabled:] 解析(PFSQLiteDatabase.o) (也许您的意思是:_fbsdkdfl_sqlite3_prepare_v2) ld:未找到架构 arm64 的符号 clang:错误:链接器命令失败 退出代码 1(使用 -v 查看调用)

【问题讨论】:

ld: symbol(s) not found for architecture arm64 感谢您的回答。但我不明白如何解决。你有什么好主意吗? 【参考方案1】:

您需要将一个新的但不是那么新的框架链接到您的项目。

libsqlite3.tbd

我的猜测是您还必须替换以下两个框架:

lib.1.1.3.tbd libstdc++.6.tbd

仅供参考,.tbd 扩展框架是新的“基于文本的存根库”,它提供了更紧凑的祖先库版本以供在 SDK 中使用,这反过来又有助于显着减少下载大小。

【讨论】:

非常感谢您的回答和详细的解释。我做到了,我可以解决 8 个错误!【参考方案2】:

这在 Xcode 6 启动时发生在我身上。您可能会找到一些解决方法,但我只需要等待 Parse 更新他们的 API 以支持新的 Xcode 版本。我知道这在此时无济于事,但他们通常非常擅长跟上。我会说你应该在一周内以绝对最大值启动并运行。作为经验,我坚持使用以前的版本,直到 Parse 更新。

【讨论】:

【参考方案3】:

我在安装过程中遇到了几乎相同的错误,对我来说,Bolts 框架也已经过时了(Parse-SDK-iOS-OSX、静态文件夹、Objective-C)。所以这就是我所做的。

1) 在 Xcode 中将这些添加到链接的框架和库中:

libsqlite3.tbd SystemConfiguration.framework AudioToolbox.framework

2) 在 Finder 中找到 Bolts.framework 并将其移至垃圾箱。浏览到Facebook Developer page 并从那里下载最新的 SDK。抓取已编译的 Bolts.framework-file 并将其添加回我删除它的同一位置。

希望它也对你有用。

【讨论】:

以上是关于Parse for iOS:尝试运行应用程序时出错(38 个错误)的主要内容,如果未能解决你的问题,请参考以下文章

尝试运行连接器类“io.debezium.connector.mysql.MySqlConnector”时出错

在 Flutter VScode 中运行调试 ios 应用程序时出错

使用 Parse Server 设置密码重置时出错

尝试为 iOS 运行或构建 Flutter 项目时出错

尝试在具有 IOS 8 和 Xcode 6 UIAutomation 的设备上运行脚本时出错

在 iOS 10 Beta 1 设备上运行应用程序时出错