美文网首页Swift编程
记一次令人恶心的Swift--Framework事件

记一次令人恶心的Swift--Framework事件

作者: LD_左岸 | 来源:发表于2017-03-10 17:17 被阅读493次

1.首先是制作framework阶段 需要注意到CPU的架构适配

Snip20170619_4.png

改为NO之后 跑在什么什么机型上 就是什么机型的CPU架构
2.其次是导出framework时 改成release模式

3F158D69-8E50-4400-8366-0BDD034ABD08.png

这个错误的出现 很多人看到可能照着image使劲了 但是和image没🐱关系

首先.a文件 一定是静态库
.framework文件 有可能是静态库 也有可能是动态库
swift打出来的framework一定是动态库

所以如果你选用的OC的话 可以再导出framework之前 指定你的framework是动态库 还是静态库 指定的方式是:

Snip20170619_5.png

如果没指定framework的类型
你把framework导入到工程里了 尤其是Swift的framework
工程并不知道他的类型
所以必须报image Not Found

解决的方式是:


Snip20170619_6.png

在这块再导入一下就好了...
4.这个Bug对应题目 令人恶心 什么玩意!!!

<pre>

当我新创建一个工程的时候 把TextToSpeechV.framework导入工程中 在新创建的Swift文件里 import UIKit
import TextToSpeechV1
class LDPerson: NSObject {

}
当我Commend+左键 点import TextToSpeechV1 是可以点进去的
但是当我在目前开发的项目里导入一模一样的framework 而且所有导入细节一致 尝试了多次 每次Commend+左键 点import TextToSpeechV1 都是显示Couldn't Generate Swift Representation

  Error(from SourceKit):

"Could not load module:TextToSpeechV1"。

</pre>

什么意思呢 就是一点framework的头文件 就显示这个图了

Snip20170619_7.png

最终在StandOverFlow上找到了答案:
就是工程所在的文件夹不能有空格 比如我的项目在这个文件夹下

E476FBD3-85F4-4D33-BCFC-DED7683D8612.png

这个文件夹的名称 AI后面有一个空格 就不行 ! 就点不进去framework的头文件!
以下下是StandOverFlow的完整解释:
<pre>
From my experience there are two possible causes for this issue. The first one is that your framework can't be located. To fix this you need to go to target's Build Settings and add a path to Framework Search Paths either an absolute:

/Users/{user}/path-to-framework-parent-directory
or relative to project directory:

$(PROJECT_DIR)/path-to-framework-parent-directory
Another possible cause is that the path to your framework contains a space in it. I found that it doesn't matter whether you try to escape it with backslash ../Project\ Name/frameworks or take the whole path in double-quotes "../Project Name/frameworks". The result would be that SourceKit could not load the module.

Note that $(PROJECT_DIR) could expand to a path with a space in it and it would too result in the same error. So it looks like a bug in Xcode/SourceKit (I tried the latest Xcode 7.2-beta3 and the bug is still there).

My repository was on the second hard drive /Voluems/Macintosh HD/Repos. I just renamed the hard drive to HD, so the path looks like /Volumes/HD/Repos and the problem was gone.

</pre>

<pre>
写的有误之处 望不吝指教😊
</pre>

相关文章

  • 记一次令人恶心的Swift--Framework事件

    1.首先是制作framework阶段 需要注意到CPU的架构适配 改为NO之后 跑在什么什么机型上 就是什么机型的...

  • 数据埋点之六:埋点需求设计

    主要埋点事件: 点击事件点击事件,用户点击按钮即算点击事件,不管点击后有无结果;点击一次记一次。 曝光事件成功打开...

  • 记一次事件

    脑子乱成一团,把嘴咬破了,血的铁锈味满嘴都是。 张开嘴轻轻地呼吸,试图缓解痛苦,太可怕了。 我的意志又在作祟,它干...

  • 加班

    令人恶心的加班,白天在办公室坐了一天,快要下班的时候说要加班,令人恶心

  • 以柔克刚,以弱胜强

    以柔克刚,以弱胜强 ——记一次打架事件的处理 古罗马人认为儿童的...

  • 地铁上的丑恶

    2020-9-4 今天早晨,我带阳阳出去,在地铁上,偶遇了一幕令人恶心的事,大概事件如下:因为人多,阳阳上了地铁之...

  • 。。。

    这个世界,这些人,可怕的令人恶心。

  • 记一次误伤事件

    那一晚 一把忠诚的梳子成了暗器 它竟然伤了我想伤 但 不打算真伤的人 我知道 它也是中了眼镜的计 然而 死罪可免 ...

  • 记一次“投诉”事件

    某一天接近黄昏,身体开始异样,渐渐地不舒服起来,拎着两袋水果,特地给自己买了山药排骨汤,准备回家先好好吃上...

  • 记一次落水事件

    我出生在挨着长江边上一座小城,乡下人没什么娱乐活动,每年夏季汛期,河边就会聚集好多洗衣服、游泳、玩水的人群。 小学...

网友评论

    本文标题:记一次令人恶心的Swift--Framework事件

    本文链接:https://www.haomeiwen.com/subject/vbkogttx.html