我有一个现有的 iOS 项目,现在是时候对应用程序共享扩展中的用户进行身份验证了。为此,我需要解码 JWT 以查看它是否已过期。我习惯于将 jwt 与 javascript 和来自 npm 的 jwt-decode 一起使用。对于 iOS,我认为与 npm 等效的是 cocoapods
?
我找到了这个模块:https://github.com/auth0/JWTDecode.swift该声明确实满足了我的需要。它甚至附带了一个安装指南,解释了如何安装 cocoapods。
我已按照以下步骤安装 cocoapods:
之后我尝试安装包:
cd my-ios-prject
pod init
- 这创建了一个 Podfile- 在 podfile 中我添加了
pod 'JWTDecode', '~> 2.3'
pod install
下载:使用 JWTDecode (2.3.0)
我去了 Xcode 并尝试构建项目,但我得到了 error:ld: framework not found JWTDecode
我觉得很困惑,因为我什至没有在任何地方导入 lib,我只是按照指南所说的那样安装它。
这是我的 podfile 的样子:
target 'appname' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for appname
target 'appnameTests' do
inherit! :search_paths
# Pods for testing
end
end
target 'appname-share' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
pod 'JWTDecode', '~> 2.3'
# Pods for appname-share
end
target 'appname-tvOS' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for appname-tvOS
target 'appname-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
end
我只想在共享扩展中使用 JWTDecode 库,这就是为什么我将它添加到 target 'appname-share' do
下的原因
请让我放松一些,让我免于“这是重复的”羞辱,我阅读了所有置顶帖子,但它们并没有解决我的问题。删除 .framework 文件没有任何作用。我还检查并确认在我的 project -> target -> build phase -> link binaries
中列出了 pods_appname.framework。
最佳答案
安装 pod 后,您必须关闭 ProjectName.xcodeproj 并打开并使用 ProjectName.xcworkspace。因为你也可以看到你所有的 pod 。必须构建阶段将 libraryName.a 添加到链接的框架和库中,然后清理和构建。它不会抛出任何错误。
关于ios - 将 JWTDecode 添加到现有的 iOS 项目,找不到框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57427308/