如何运行从网上下载的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.


如何运行从网上下载的iWatch项目详细步骤._第1张图片


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


如何运行从网上下载的iWatch项目详细步骤._第2张图片


然后我们在fix...

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


如何运行从网上下载的iWatch项目详细步骤._第3张图片


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


如何运行从网上下载的iWatch项目详细步骤._第4张图片


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

如何运行从网上下载的iWatch项目详细步骤._第5张图片


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


如何运行从网上下载的iWatch项目详细步骤._第6张图片


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


如何运行从网上下载的iWatch项目详细步骤._第7张图片


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

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


如何运行从网上下载的iWatch项目详细步骤._第8张图片


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


如何运行从网上下载的iWatch项目详细步骤._第9张图片


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


如何运行从网上下载的iWatch项目详细步骤._第10张图片


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

错误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'

如何运行从网上下载的iWatch项目详细步骤._第11张图片


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


如何运行从网上下载的iWatch项目详细步骤._第12张图片


再运行哈..又报错..

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


如何运行从网上下载的iWatch项目详细步骤._第13张图片


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

如何运行从网上下载的iWatch项目详细步骤._第14张图片


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

错误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.


如何运行从网上下载的iWatch项目详细步骤._第15张图片


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


如何运行从网上下载的iWatch项目详细步骤._第16张图片

如何运行从网上下载的iWatch项目详细步骤._第17张图片


再运行一次..

错误7: error: warning: Is a directory


如何运行从网上下载的iWatch项目详细步骤._第18张图片


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

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

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


如何运行从网上下载的iWatch项目详细步骤._第19张图片


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


如何运行从网上下载的iWatch项目详细步骤._第20张图片


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


你可能感兴趣的:(error,swift,iWatch)