由于需要现在要更改包名,但是在网上找了N多资料都比较老,16年的资料却是残缺不全,尤其 ios10 出了 .entitlement  的机制 ,很多琐碎的小细节 很容易忘记。所以我自己总结了一篇。

注意:请在修改前使用git 备份工程,如果使用的SVN 要把 代码从仓库拖出来修改。

1,修改文件名(将bubble 修改成bubblewrap)

----->

2, 将旧项目文件夹和Tests文件还有UITest名夹修改为新的名称,修改后如下图所示(我这里没有UITests,)

 (注意:UITests和Tests要不要动,只修改前面的bubble,而且要把里面的.m文件名也修改)

3,右击 你的项目.xcodeproj,选择“show content package”(中文:显示包内容),看到如下目录,并将project.pbxproj文件以 文本编辑 打开。

4,替换新旧项目名:按command+f(这主要是修改项目文件路径等)

勾选 替换   ,点击  全部

5,进入项目,修改项目名(注意:如果使用的是cocopods,从 你的项目.xcworkspace 进入)

按回车 修改 bubble-->bubblewrap

点 rename

5,修改schemess

回车修改 bubble --->bubblewrap,点击close

7,修改Tests 和UITests文件(将interface 和implementation 后的bubble 修改为 bubblewarp )

8,修改 cocopods 的Podfile文件(注意,我没有UITests,所以如果你有,那么你修改三次)

9,修改旧项目的Tests及UITests文件名和cocoapods启动项

bubble.xcworkspace---->bubblewrap.xcworkspace

结束!

最后的最后:

如果报错:The file “bubble.entitlements” couldn’t be opened because there is no such file.

这是 ios 10 出的签名机制,想了解更多参考 http://www.cnblogs.com/abinzhang/p/5662061.html,解决方式就是 删除报红的 bubble.entitlements 文件,然后在build Setting 中清空签名文件,在清除下Xcode 缓存 编译,解决!

如果报错:diff: /../Podfile.lock: No such file or directory

diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock.

Run 'pod install' or update your CocoaPods installation.

  执行 8 ,然后 在终端 CD到项目 执行 pod install,如果还是报错,请参考  http://www.jianshu.com/p/4c3164fe552a
 
  如果报错:xxxTests.m文件和xxxUITests.m文件是不可用的
执行 2,和7 ,解决

Xcode修改包名(含cocopods)的更多相关文章

  1. 安卓工程修改包名后 Failed to find provider info for...问题

    安卓工程修改包名后 Failed to find provider info for com.android...provider问题 原因: 1. 多处含包名文件须同时更改 2. Manifest里 ...

  2. [Android]关于Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED ,修改包名

    查了很多,说修改manifest.本来是没有任何的修改,自动生成的,最后发现参考了人家的一篇: http://bbs.csdn.net/topics/390613702 修改包名,包名带了大些的开头了 ...

  3. Android Studio修改包名和applicationId的方法

    背景: 如果新做的项目跟以前做的某一个项目十分相似,那么一个简单的方法就是把原来项目拷贝一份,然后修改代码,但是这样包名还是原来项目的包名,还有如果想在同一台手机上同时安装新做的app和原来的app会 ...

  4. android app修改包名

    change package nameA.使用到得工具    notepad++,everything搜索工具(C:\Users\Administrator\Desktop\MusicScanResu ...

  5. 在Android Studio中使用Gradle方便地修改包名

    情景: 主Module引用了多个module,在代码使用R.xx.xx的时候,会import 当前包名.R.而由于需要上架Play做测试,可是目前的包名已经被使用了,所以需要修改包名. 正确使用bui ...

  6. Android Studio的使用(三)--包不分级、修改包名

    1.如果不喜欢将包逐级展开的话,可以将每一个包名都完整展现出来,只需要勾选Flatten Packages. 2.修改包名 3.填写新的包名 4.点击确认

  7. Android必知必会-Android Studio修改包名

    如果移动端访问不佳,请尝试–> Github版 背景 公司做相似产品较多,一般都是以某个产品为基础修改,逐步替换设计图的切图.这个就会导致需要经常为Copy的项目修改包名. 这里是参考一些网上的 ...

  8. 如何判断是否为同一个App,Ionic3如何修改包名

    如何判断是否同一个App 使用Ionic3创建了两个项目demo1.demo2,然后使用同一个JDK,生成了两个不同的keystore证书. 结果在手机端安装的时候,先安装demo1,没有任何替换的提 ...

  9. Android Studio 修改包名最便捷做法

    Android Studio,咱们开发安卓的利器,自推出就受到移动开发者的追捧,但一路走来,大家谈到他,充满了兴奋之情之余,也略显羞涩.随版本自推出以来,不断完善BUG,但咱们还是深深地踩了进去,说多 ...

随机推荐

  1. sleep() 和 wait() 有什么区别?

    sleep()方法是使线程停止一段时间的方法.在sleep 时间间隔期满后,线程不一定立即恢复执行.这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非"醒来"的 ...

  2. MongoDB安全及身份认证

    前面的话 本文将详细介绍MongoDB安全相关的内容 概述 MongoDB安全主要包括以下4个方面 1.物理隔离 系统不论设计的多么完善,在实施过程中,总会存在一些漏洞.如果能够把不安全的使用方与Mo ...

  3. TCP传输协议使用

    TCP传输协议,也称之为套接字连接,比较安全,三次握手!,必须确保对方计算机存在,才能连接,而且是长时间连接. 缺点是传输速度有点慢. 你用 socket 去连接 ServiceSocaket 服务器 ...

  4. 使用Nginx+CppCMS构建高效Web应用服务器(之三)

    使用Nginx+CppCMS构建高效Web应用服务器(之三) --充分利用服务器和客户端计算能力 欢迎测试,攻击:http://www.litelottery.com     网页右上角,选择博彩,演 ...

  5. WIN10下设置惠普HP1050等打印机打印颜色,只打黑白或彩色

    今天同事问了一个问题,如何在WIN10下,设置惠普打印机只打印黑白, 上网搜了下,没有找到任何信息,只有在WIN8前系统设置的内容,经过几番折腾,得出此文. WIN10下设置惠普HP1050等打印机打 ...

  6. Java Swing intro

    Java Swing intro 如果有Android app开发经验,快速上手Swing不是问题.UI方面有相似的地方. 简单的几行代码就能抛出一个框框,记录一下操作过程 1.先显示一个框框 Era ...

  7. nyoj_600:花儿朵朵(树状数组+坐标离散化)

    http://acm.nyist.net/JudgeOnline/problem.php?pid=600 只附代码好了 #include<bits/stdc++.h> using name ...

  8. Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

    看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...

  9. (转)Spring并发访问的线程安全性问题(高度总结)

    下面的记录对spring中并发的总结.理论分析参考Spring中Singleton模式的线程安全,建议先看 spring中的并发访问题: 我们知道在一般情况下,只有无状态的Bean才可以在多线程环境下 ...

  10. JStorm与Storm源码分析(四)--均衡调度器,EvenScheduler

    EvenScheduler同DefaultScheduler一样,同样实现了IScheduler接口, 由下面代码可以看出: (ns backtype.storm.scheduler.EvenSche ...