如何运行从网上下载的iWatch项目详细步骤.

今天帮朋友解决iWatch的问题,他把项目直接扔给我,我们都知道如果项目中带一些需要开发认证的框架(比如Healthkit框架内)是不能直接运行的.昨天经过一个多小时的研究(PS:楼主比较笨),终于搞定这个问题.现在把自己爬坑的经过写下来,希望能帮助到大家.

朋友的项目就不便放出来啦,特意从github上找了个大牛写的Demo: https://github.com/shu223/watchOS-2-Sampler

大家是不是和我一样,项目一下载下来,就会迫不及待满怀期待的运行一下.结果...

错误1: Fail to code sign "***" No valid signing identities (i.e. certificate and private key pair) matching the team ID "****" were found.




然后我们就想都不想来fix issue.本人还是蛮信任苹果的,一些问题我们fix 下就会解决.然后我们就会满怀期待的再fix下.然后..




然后我们在fix...

错误2: Unable to find a team with the given Team ID '****' to which you belong. Please contact Apple Developer Prpgram Support.




现在问题出来了,是我们的开发者账号不匹配,所以我们要去项目中去配置一下.




选中我们的开发者账号在运行,又报错了..



现在的问题是找不到和"9Z86...."team ID匹配的正式.我们在fix下..



又报错了,而且只能点Done了,而且问题也没办法解决,别人的开发者账号,我们联系苹果也没有用,是不是很崩溃..其实只是我们应用中使用了Healthkit框架,而该框架是需要开发者账号认证的.




点一下fix issue..又报错了..

错误3: An App ID with identifier "*****" is not avaliable. Please enter a different string.




再fix..还是和上面报的错一样.然后你就会发现其实这并没什么卵用.  错误的原因就是这个identifer已经被别人占用了,你不可以再使了(如果男票和女票也可用这样就好了,被我占用了其他人就想都别想了,当然前提是你得有大笑).既然这个被占用了那我们就换个呗,天涯何处无芳草..




现在我们在bundle ID 后面加了个标志,回到capabilities再fix一下.好了大笑




我们再满怀憧憬的运行下...

错误4: No code signing identities found: No valid signing identitis (i.e certificate and private key pair) matching the team ID "***" were found.  CodeSign error: code signing is required for product type 'WatchKit App' in SDK 'Watch OS 2.0'



又报错了..错误原因顾名思义,我们值改了extension.watch app也要改




再运行哈..又报错..

错误5: error: Enbedded binary's identifier is not prefixed with the parent app's bundle identifier.




错误的原因就是我们嵌入的bundle ID 和父APP的前缀不一样.苹果之所以能关联手机和watch的APP是有条件的.其bundle ID 必须遵循固定的格式.  也就是两者的前缀必须一样.好吧,现在我们再改一下父APP的bundle ID .



好啦.我们在运行下..又报错了,没完没了大哭

错误6: error: WatchKit App doesn't contain any WatchKit Extensions whose WKAppBundleIdentifier matches "*****". Verify that the value if WKAppBundleIdentifier in your WatchKit Extension's Info.plist matches the value of CFBundleIndetifier in your WatchKit App's Info.plist.




好吧,按照苹果的提示做就ok了..一定要APP和extension的配置保持一致.





再运行一次..

错误7: error: warning: Is a directory




这次想骂人了,报了个莫名其妙的错误...

其实每次看到这个错误我就会clear一下工程,然后真正的错误就会显出原形.本人比较喜欢改了工程配置啥的就喜欢clean下.虽然有时间没必要(但有时候是很有用的).而且自认为是个好习惯..害羞.现在让我们看看真正的错误是啥.

错误8: error: Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier.




提示显示,内嵌的bundle ID 和父APP的不匹配.因为我们该了watch APP和extension,却没有改主APP的bundle ID.下面我们修改一下主APP的bundle ID




在运行一下....然后你会惊奇的发现 -----------------  终于能运行了.


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值