美文网首页
2020-05-19

2020-05-19

作者: 不文不武的禾文 | 来源:发表于2020-05-19 22:07 被阅读0次

    接sdk之前看了一<u>下菜鸟教程的OC</u> !感觉只是皮毛。下面分享一些还记得的解决方法的错误!

    坑1(lib找不到):

    错误ld: library not found for -liPhone-lib
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    image image.gif

    这个问题比较简单,但是对新手的我来说,居然找不到为什么引起的报错,后来发现应该 ld: library not found for -liPhone-lib 就是错误信息,是library search path 设置问题,看了一下设置,多一个双引号,去掉之后就没有这个报错了!

    坑2(重复库):

    错误ld: 345 duplicate symbols for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    image image.gif

    引起的这个错误很多,是重复的类或者文件!最开始我的解决方法是将Other linker flags 里面的-ObjC去掉!编译能过,但是会报更奇怪的错,我不是很懂!后来又把它加上,将sdk一些重复文件删掉!

    坑3(arc错误):

    我的项目中之前有下边这样的代码

    [[[NSMutableDictionary alloc]init]autorelease];

    结果报错如下

    'autorelease' is unavailable: not available in automatic reference counting mode

    ARC forbids explicit message send of 'autorelease'

    重点来了:如果项目中用了autorelease、ratain、release,而工程中的arc(Build Settings->Objective-C Automatic Reference Counting)设置为Yes,这时候你build会报错,而且,你去搜索这个错误的时候,很多人都会叫你把这个设置改为No。这样做我觉得不好,因为我被这样坑过。

    正确做法是:在Build Phases中搜索你的文件,然后在compiler flags中加入-fno-objc-arc(这是为了某个文件不支持arc,支持arc是加-fobjc-arc,区别自己百度)。在这里举例的代码经过修改了之后不需要autorelease,所以把它删掉了!

    坑4:(苹果支付问题,最头痛)

    支付跟android的差不多,有sdk就是调用一个sdk的支付接口,但是我遇到一个报错!

    Error Domain=SKErrorDomain Code=0 "无法连接到 iTunes Store" UserInfo={NSLocalizedDescription=无法连接到 iTunes Store}

    image image.gif

    image image.gif

    我表示看不懂,然后检查了产品ID,后台配置,换了好几个账号,都没有解决。然后打了一个IPA给台湾的运营,叫他们帮忙测试!结果遇到安装失败!

    sdk那边说的是苹果服务器的问题,我很是不信,一直找问题,最后的最后,发现真的好像是苹果服务器的问题,给两个链接:

    http://blog.csdn.net/imanapple/article/details/47174993这个好像写得很清楚的样子。

    http://www.cocoachina.com/bbs/read.php?tid-1717246-page-2.html ,好像也有很多人遇到这个问题。

    但是最后解决问题是我在网上加了一个人,他给我说重启手机,因为他也是这样的,结果我重启之后真的解决了!

    如果你也遇到这个问题,首先检查一下后台的配置和你工程的是不是一样的,产品id是否配置完成,再检查一下你代码有没有问题,如果还是不行,可以试一下重启设备!

    坑5:(上传失败)

    打了一个ipa给sdk那边的运营安装,手机是越狱的安装失败。在打ipa的select a method of distribution弹窗里选了App Store后,准备上传到

    TESTFLIGHT 下载来安装,结果上传失败!

    ERROR ITMS-90159:“Invalid provisioning profile.This app contains an embedded provisioning profile that is not assocated with your account, Please use a provisioning profile associated with Team ID X6SSLL8LS7.”

    image image.gif

    这个是证书不对的问题,上传App Store需要打发布包,之前打IPA是用的Automatically manage signing,没有用sdk那边提供的证书。

    在证书导入的时候,先把Automatically manage signing 这个选项勾选掉,然后下边就出现很多红色的报错,分别导入就可以了。

    image image.gif

    image image.gif

    如果你打包看到这些问题,很有可能是你的证书没有导入成功!(导证书的时候,不仅要导.mobileprovision文件,还要导.p12或者.cer文件),下边个图就是因为没有打开.p12文件造成的。

    image image.gif

    error itms-90086错误:

    这个是因为上传App Store需要支持64位。如果你是Unity导出的xcode工程,可以将Unity的player setting->other settings ->Architecture设置成Universal。也可以直接在xcode中设置,自己百度,这个很多!

    坑6:(Unity导出xcode工程,在xcode上运行无缘无故崩溃)

    后来发现是勾选了unity的Strip Engine Code这个选项!取消掉就好了!这个感觉起不了多大的作用,但是还是记一下吧!

    相关文章

      网友评论

          本文标题:2020-05-19

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