最近公司的一个企业项目,由于前期感觉做企业应用嘛,就很随性的选择了新学的swift技能。前期需求比较简单加上swift越用越顺手(个人觉得写界面代码比OC少了好几吨代码),很快两个多星期就出了首个测试版本了。两个月后突然又需要发布AppStore了,好吧噩梦来了。
坑一:
项目里面用到了金山云的SDK(ps:估计比较小众问题比较多),用的是动态库没有提供真机和模拟器的合成,我为了能让工程同时支持模拟器和真机调试就自做主张的合成了一个Debug-iphonesimulator和Release-iphoneos库,这样合成在iOS8上面不存在问题,在iOS7系统下编译会报以下错误:解决方法一是不用合成的,二是合成两个Release版本或者Debug版本就行了。解决方法一是不用合成的,二是合成两个Release版本或者Debug版本就行了。
dyld: Library not loaded: @rpath/KS3YunSDK.framework/KS3YunSDK
Referenced from: /var/mobile/Applications/83F916A5-53E5-48BA-9D49-45C12A04DD23/test.app/test
Reason: no suitable image found. Did find:
/private/var/mobile/Applications/83F916A5-53E5-48BA-9D49-45C12A04DD23/test.app/Frameworks/KS3YunSDK.framework/KS3YunSDK: code signature invalid for '/private/var/mobile/Applications/83F916A5-53E5-48BA-9D49-45C12A04DD23/test.app/Frameworks/KS3YunSDK.framework/KS3YunSDK'
解决方法一是不用合成的,二是合成两个Release版本或者Debug版本就行了。
解决方法一是不用合成的,二是合成两个Release版本或者Debug版本就行了。
解决方法一是不用合成的,二是合成两个Release版本或者Debug版本就行了。(因为重要所以写三遍绝对手敲的)
坑二:
好吧解决完适配问题就可以愉快的等待提交了,泡好一杯水坐等苹果漫长的upload过程。看完今天的头条抬头发现居然没上传成功,好吧收拾好心情问题又来了。
!!!又是金山云惹的祸,百度已经解决不了这种难得的问题了,好不容易一看到一个相同问题的帖子居然还没有提供相关的解决方案,于是就有了本篇了。
首先swift支持ios7以上系统,也就是从7.0以后就支持动态库了,这方面看我们的最低适配版本也是从7.0开始完全符合了,为了排除工程配置原因重新选择Deployment Target为8.0提交还是报错。金山云的技术支持说他们用OC写的项目,同样使用的动态库是可以提交AppStore的,不过我没有试过相信应该是可以的。最后我们只能要求金山云提供一个静态库来解决这个问题。
由此只能说是swift目前还不是很完善来掩盖我的无知了,记录完这些埋头去找原因去了,如果有谁看到这篇文章又知道答案的话谢谢告诉我声