Bol*_*ock 21 iphone xcode ios xcode-organizer ios-provisioning
我的应用程序的开发配置文件已于几周前过期,因此我访问了配置门户以获得一个全新的配置.获得它后,我访问了Xcode Organizer,从我的设备和Mac中删除了过期的配置文件,然后导入了新的配置文件.Xcode立即将配置文件安装到我的设备上,我的应用程序再次在设备上运行.
问题是,虽然组织者能够看到新的配置文件并正常安装,但IDE在旧配置文件和新配置文件之间会混淆.每次我尝试构建应用程序时,它都会立即失败.错误控制台告诉我Xcode找不到旧配置文件,因为列出的GUID属于旧配置文件.真奇怪; 我认为Xcode现在已经意识到了新的配置文件.
我尝试从我的设备和Mac中删除新配置文件,然后重新安装配置文件.不起作用,Xcode仍然试图寻找旧的.我也试过选择一个不同的配置文件让Xcode忘记旧的,然后选择新的.我甚至尝试在其他选项中手动输入新GUID的GUID .然而,Xcode仍然坚持寻找旧的配置文件,现在它已经从我的Mac上消失了.
我如何说服Xcode我为我的应用程序生成了一个新的配置文件供它使用?
Bol*_*ock 17
tl; dr:结果我只需要手动编辑项目文件来告诉Xcode新的配置文件.现在,我不知道为什么我必须手动更新项目文件.也许我在将新配置文件导入Xcode的过程中做错了,所以它没有意识到我的新配置文件已经进入.或者文件系统中途窒息而Xcode无法自行更新.那好吧.
现在为了 开玩笑 技术部分:
重要提示:与其他涉及修改文件的内容一样,您不应修改:确保备份
.xcodeproj软件包和/或整个Xcode项目,或确保Xcode项目保持适当的版本控制.你不想搞砸并导致Xcode停止在你的设备上构建你的项目,没有任何东西可以依赖.
我偷看了我的应用程序.xcodeproj包的内容(此时Xcode没有运行).要查看这些,请在Finder中打开项目文件夹,然后按住Control键.xcodeproj并单击您的文件,然后选择" 显示包内容":
Breeze.xcodeproj/ Daniel.mode1v3 Daniel.pbxuser project.pbxproj
然后project.pbxproj在文本编辑器(它的文本,而不是二进制文件)中打开,并查看构建配置信息.
标有一个部分/* Begin XCBuildConfiguration section */(您可以使用编辑器的搜索功能找到它).它是一个条目列表,每个条目代表给定构建配置中给定配置文件的代码签名配置.
以下是我用于签署二进制文件以进行开发的配置文件的信息:
1D6058940D05DD3E006BFB54 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Daniel Tan (XXXXXXXXXX)";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Breeze_Prefix.pch;
GCC_VERSION = com.apple.compilers.llvmgcc42;
INFOPLIST_FILE = "Breeze-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
PRODUCT_NAME = "Breeze";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";
SDKROOT = iphoneos;
};
name = Debug;
};
Run Code Online (Sandbox Code Playgroud)
值得注意的是这一行:
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";
Run Code Online (Sandbox Code Playgroud)
这是构建错误报告的GUID; 我旧的,已过期的配置文件的标识符.
我所要做的就是用新配置文件的GUID替换它:
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "E6E6369E-FD58-4886-9C3A-72C9DAE36501";
Run Code Online (Sandbox Code Playgroud)
我再次在Xcode中打开我的项目,现在我的应用程序使用新的配置文件成功构建并安装在我的设备上.
hac*_*dev 15
这是我在Xcode 4中的表现:
小智 8
我能够通过在代码签名标识中将其更改为"不代码签名"来修复此错误.构建,您会收到错误"产品类型需要代码签名......等等......".然后返回并选择正确的配置文件.建立和所有好.这件事发生在我身上,因为我的证书已过期而且我续签了.除了上述内容之外,我还必须从我的钥匙串和组织者中删除旧证书.
| 归档时间: |
|
| 查看次数: |
27104 次 |
| 最近记录: |