iOS 分包处理

 

一、首先修改包名和替换plist中的偏好设置  修改对应appstore的证书和修改相应的类来达到 这样的目的

 修改所有目标的名称

二、进行Archive提示The file "xxx.entitlements" could not be opened 最准确解决办法

问题来源描述:
由于修改过app的名称或者修改过证书(增加了苹果账号登录or增加推送权限等操作),导致配置中的文件发生变化,然后进行archive提示The file "xxx.entitlements" could not be opened。

解决办法:
1、删掉项目中的xxx.entitlements
2、选择target--->Signing--->Code Signing Entitlements--->找到对应的xxx.entitlements进行删除
3、回到Signing&Cpabilities中找到对应的模式重新添加所需要的 push或者Associated
4、重新编译即可。

三、

 

 

执行编译的时候 显示当前有未可执行的文件或者必要的可执行文件没有创建

 猜想1: 删除了UITest而未补全 

补全后运行显示

Xcode报错:Target '**' (project '**') has copy command from

 Multiple commands produce '/Users/gpf/Library/Developer/Xcode/DerivedData/MySky-asnbqoeeaidlzjhivzivvpxytjyu/Build/Products/Debug-iphonesimulator/MySky.app/Info.plist':
        1) Target 'MySky' (project 'MySky') has copy command from '/Users/gpf/Desktop/Swift/MySky/MySky/SupportingFiles/Info.plist' to '/Users/gpf/Library/Developer/Xcode/DerivedData/MySky-asnbqoeeaidlzjhivzivvpxytjyu/Build/Products/Debug-iphonesimulator/MySky.app/Info.plist'
        2) Target 'MySky' (project 'MySky') has process command with output '/Users/gpf/Library/Developer/Xcode/DerivedData/MySky-asnbqoeeaidlzjhivzivvpxytjyu/Build/Products/Debug-iphonesimulator/MySky.app/Info.plist'

 在Build Phases中的Copy Bundle Resources中把对应文件删除即可

 

四、更改UITest后

遇到'XCTest/XCTest.h' file not found问题
解决方法,如下:

选择xxxUITests -> Build Settings -> Framework Search Paths
填入$(PLATFORM_DIR)/Developer/Library/Frameworks
再次运行吧!
以及

Library not loaded: @rpath/XCTest.framework/XCTest

  Referenced from:

/private/var/containers/Bundle/Application/F002B1D1-1692-417C-A7BB-BE156B6A50DA/妈妈学校.app/妈妈学校

  Reason: image not found

 

解决的方法:project-》targets-》Bulid Phases-》complie Sources-》搜索一下是否有test,有的话,删除一下就可以。(运行后仍然报错)

dyld: launch, loading dependent libraries

DYLD_LIBRARY_PATH=/usr/lib/system/introspection

DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

 

程序可以运行到真机上,但是,刚运行结束就闪退了,
 
您正在运行(可能是一个调试版本)启用了后台追踪记录(enabled backtrace recording),将它禁用掉就解决了。即将下图中,红色圈中部分的勾去掉即可。

 

 

posted @ 2022-04-08 16:02  Ploy_moonKnight  阅读(472)  评论(0)    收藏  举报