iOS-移动架构师

iOS Today Extension 遇到的坑

2017-03-01  本文已影响400人  chouson_chan

开发中,有时候也会遇到某些需求,例如应用扩展,有哪些可以对应用进行扩展的呢!

extension.png
由图片可以看出来,有着非常多东东可以扩展,多得有点不要不要的。看了一下大家应该了解部分Extension应用在哪方面。而这次主要讲述Today Extension
这是官方对Today Extension的描述
当然啦!我并不是对Today Extension的详解,网上有很多教程,我就不详述了😁
这是我的工程 target.png
这里我是想共享ShareDelegate这个文件在不同的target里面,意思就是TodayViewController这个target都可以共用这个文件。那怎么共享呢?没错就是图中那个Tablekit.h工程文件。
file -> target就可以找到了 framework.png
新建好这个Tablekit.hframework后,添加关联 membership.png
按照图片操作ShareDelegate.h ShareDelegate.m两个文件都需要勾选Target MembershipTablekit,只☑️Tablekit就可以了,似乎这样子就万事大吉了?NO!you wrong! init.png
我们引入头文件,并进行初始化initialized的时候,幸福来敲门了,不,是bug来敲门😏 wrong.png
编译错误了,大概意思就是你没有引入相关文件,找不到,(⊙o⊙)?懵逼了,如果你出现上述的错误的话,那么只需要到Build PhasesCompile Sources 添加你需要的.m文件就可以了。 add.png
哪个target出现这个问题,就在相应的target添加.m文件就可以,此时错误解决了。
在模拟器运行的时候,你可以在通知中心可见Hello World notification.png
此时并没有问题。最大的问题就是真机调试的时候,却没有内容content IMG_0568.PNG
这是我心爱的iphone 5s (iOS 9.2)所显示的内容,大家可以看见DateExtensioncontent不见了,最起码的Hello World都不给我😒,但是却可以在我同事的iphone 6s (iOS 10.2)显示 Architecture.png
刚开始我以为设置了Build SettingsArchitecture的相关配置就可以了,可惜然并卵😞。问题并没有解决。而这些arm64 、 arm7 ...又是什么鬼呢?
arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)
armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

i386是针对intel通用微处理器32位处理器
x86_64是针对x86架构的64位处理器

模拟器32位处理器测试需要i386架构,
模拟器64位处理器测试需要x86_64架构,
真机32位处理器需要armv7,或者armv7s架构,
真机64位处理器需要arm64架构。

大家可以通过这两篇文章了解一下

iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么
iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
此时我自己都崩溃了,难道我的是假的iphone 5s Σ( ° △ °|||)︴

QQ20170301-11.png
而此时我觉得是Base SDK的问题,可能是系统编译的时候默认最高的SDK,但我又无法改变,我也不想升级我心爱的iphone 5s,难道要打包上线才能解决吗?so,这个坑我没有跳过去😂,此时你会不会觉得文字标题用错了,我觉得没有,因为确实遇到了这些坑,只是我没有跳过去,不要打我😂😂😂😂。

希望有那位兄台可以告诉我怎么解决此问题。

上一篇下一篇

猜你喜欢

热点阅读