Ios 将Appcode与Kotlin/Native和cocoapod一起使用
我开始使用Kotlin/native和Appcode进行iOS开发。我试图让Cocoapods与Kotlin/native合作,但我遇到了一些挑战 我从AppCode中的空Kotlin/native应用程序开始构建,它构建得很好,并在模拟器中运行 然后我尝试用“AFNetworking”来添加cocoapod,我遇到了麻烦。我试着跟随JetBrains Kotlin/本地样本:,但仍然没有成功 我面临的问题是:Ios 将Appcode与Kotlin/Native和cocoapod一起使用,ios,cocoapods,appcode,kotlin-native,Ios,Cocoapods,Appcode,Kotlin Native,我开始使用Kotlin/native和Appcode进行iOS开发。我试图让Cocoapods与Kotlin/native合作,但我遇到了一些挑战 我从AppCode中的空Kotlin/native应用程序开始构建,它构建得很好,并在模拟器中运行 然后我尝试用“AFNetworking”来添加cocoapod,我遇到了麻烦。我试着跟随JetBrains Kotlin/本地样本:,但仍然没有成功 我面临的问题是: 我无法在Kotlin文件中导入cocoapods.AFNetworking 我在尝
- 我无法在Kotlin文件中导入cocoapods.AFNetworking
- 我在尝试构建项目时遇到以下错误:“无法对AFNetworking执行cinterop处理:无法确定标头位置。”
非常感谢您的帮助。您必须首先从Xcode构建项目 使用
podspec
gradle任务生成podspec,并相应地修改它,然后将其添加到Podfile
target 'project' do
...
pod 'YourFrameworkName', :path => 'path/to/your-kotlin-library'
end
target 'project' do
...
pod 'YourFrameworkName', :path => 'path/to/your-kotlin-library'
end
您可以在这里查看:
编辑:
此外,这里还有一个Kotlin/Native示例,它在Kotlin代码中使用AFNetworking
编辑2:
同样,您必须将K/N项目链接到您的Xcode项目并在那里构建它
步骤1:将pod添加到Gradle文件中
kotlin {
cocoapods {
...
pod("AFNetworking")
}
}
步骤2:通过/gradlew共享模块:podspec
这将生成podspec文件,您可能需要在构建之前对其进行修改
步骤3:在你的pod文件中使用这个
target 'project' do
...
pod 'YourFrameworkName', :path => 'path/to/your-kotlin-library'
end
target 'project' do
...
pod 'YourFrameworkName', :path => 'path/to/your-kotlin-library'
end
步骤4:pod安装
步骤5:在Xcode中构建
之后,您可以通过导入cocoapods.AFNetworking.*
在K/N中引用它,感谢Kurt的指导。我试着跟着他们,但还是遇到了问题
在Appcode(test1)中启动新项目,在Appcode中生成ok。在Xcode中打开同一个项目,构建ok
将Cocoapod插件引用和pod添加到我的Gradle文件中,并设置version=“1.0”
运行podspec任务
发布“pod设置”和“pod初始化”
将pod条目添加到pod文件中:“pod'test1',:path=>'/Users/trond/Desktop/test1/test1'”。(这来自podspec的输出)
问题“吊舱安装”
重新打开带有项目“test1.xcworkspace”的Xcode并尝试生成。由于“gradlew”上的权限错误而失败
使用“chmod 777 gradlew”在“gradlew”上固定许可证
再次尝试使用Xcode构建,但失败的原因是:“在根项目“test1”中找不到项目“test1”。失败的任务是:“$REPO_ROOT/。/Supporting Files/gradlew”-p“$REPO_ROOT”:test1:syncFramework-Pkotlin.native.cocoapods.target=$KOTLIN_target-Pkotlin.native.cococoapods.configuration=$configuration-Pkotlin.native.cococoapods.cflags=“$OTHER\cflags”-Pkotlin.native.cocoapods.path.headers=“$HEADER\u SEARCH\u path”-Pkotlin.native.cocoapods.path.frameworks=“$FRAMEWORK\u SEARCH\u path”
$REPO\u ROOT=PODS\u TARGET\u SRCROOT=/Users/trond/Desktop/test1/PODS//test1感谢您的回复。从您提供的链接中我可以看到,它是用于将Kotlin/Native lib导入Xcode项目的。我正在寻找在Kotlin/Native项目中使用CoCoCoapod库“AFNetworking”。。我的链接不好。我更新了到正确的文档。请看一看。是的,我使用该示例作为测试的灵感。我仍然难以正确导入AFNetworking。Kotlin仍然不允许我执行“导入cocoapods.AFNetworking”,并且我在构建时仍然会遇到此错误:无法对AFNetworking执行cinterop处理:无法确定标头位置。" . 这让我相信cinterop配置缺少一些东西?在K/N中使用它之前,您必须先在Xcode中构建它。我已经用步骤更新了上面的答案。我已经按照您的说明进行了操作,也无法使import CoCoCoapods.AFNetworking正常工作。我使用的是kotlin 1.3.61,Xcode 11.3I通过进入test1.podspec文件并删除前面的“test1”:syncFramwork解决了这个错误。当尝试在Xcode中立即构建时,我遇到了一个熟悉的错误:“无法为AFNetworking执行cinterop处理:无法确定头位置”