Xcode通过修改project.pbxproj来更改Capabilities配置

遇到的问题

项目中遇到了一个iOS的问题,需要调试。拿到了工程之后,直接打开,开启自动配置证书,随便写了个我调试常用的BundleID,竟然迎来了一个个的红色叹号:

Paste_Image.png
The 'Apple Push Notification' feature is only available to users enrolled in Apple Developer Program. Please visit 
https://developer.apple.com/programs/ to enroll.

Provisioning profile "iOS Team Provisioning Profile: com.wsgh.test2" doesn't support the Push Notifications capability.

Provisioning profile "iOS Team Provisioning Profile: com.wsgh.test2" doesn't include the aps-environment entitlement.

第一个错应该是根本原因。可是为什么呢?

排查和解决

字面意思是,推送功能只对注册开发者开放。仔细一想,这可以理解,因为我用的是我自己的个人开发者Team,穷鬼一个,并没有花99美元。

  • 解决办法:
  1. 切换到企业的开发Team中;

  2. 继续使用自己的Team,但是关闭推送功能;

我比较喜欢用自己的,所以选择方法2。打开Xcode工程的配置界面,切换到Capabilities标签,找到Push。。。What?为啥没有?合着我现在不想用推送都不行了?

可是,作为一个爱折腾的程序狗,我表示不服:配置这个东西一定是有配置文件的,大家开发的时候因为xcode做的比较强大,各种配置都直接点UI了,一般也懒得关注配置文件在哪。

好,思路确定了,找吧。为了图省事,我把工程直接创建了个git仓库,用来比较工程文件的变动。

先切换到公司的Team,点开推送开关配置,然后git commit;

然后关闭推送开关,再看看文件变动。

发现两处不同:

  1. 工程根目录的xcodeproj包中,右键显示包内容,找到了project.pbxproj,其中有个com.apple.push的值,开启推送时是1,关闭变成了0。估计这个是那个开关的配置文件;
Paste_Image.png
  1. Code Signing Entitlements配置的那个entitlements文件中,打开推送开关配置时,会自动生成一个APS Environment键值,这是iOS10推出之后,SDK新要求的一个配置权限的地方,这个键值就是推送的配置,关闭的时候,这个被删掉了。
Paste_Image.png

至此,根据这个修改之后,这个工程就能用了。

延伸

从这个例子中,可以得知,project.pbxproj文件就是存放xcode的工程基本配置的地方,关于本工程的基本配置变更时,都会体现在这里;而iOS新增的权限配置,是在entitlements文件中规定的,而entitlements文件的路径,也是在project.pbxproj文件中指定了(键为:CODE_SIGN_ENTITLEMENTS)。

所以,以此我们可以在某些特殊情况下,直接查看工程文件就可以临时查看和修改工程的配置信息,从而达到装逼的效果,哦不对,是解决一些燃眉之急的效果~

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容

  • 引言 关于开发证书配置(Certificates & Identifiers & Provisioning Pro...
    奋斗的蜗牛阅读 7,372评论 2 20
  • 引言关于开发证书配置(Certificates & Identifiers & Provisioning Prof...
    molake阅读 48,222评论 7 62
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,644评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,949评论 25 707
  • 都快忘了当初的自己是那么努力,都快忘了中午是如何拼命的大口吃饭,冒着迟到的风险踏着铃声跑回宿舍,都快忘了是如何逼自...
    快乐就行阅读 205评论 0 0