gpt4 book ai didi

iphone - Xcode 无法识别我的新配置文件

转载 作者:IT王子 更新时间:2023-10-29 08:02:51 28 4
gpt4 key购买 nike

我的应用程序的开发配置文件几周前就过期了,所以我去配置门户获取了一个新的。获得它后,我访问了 Xcode Organizer,从我的设备和我的 Mac 中删除了过期的配置文件,然后导入了新的配置文件。 Xcode 立即将配置文件安装到我的设备上,然后我的应用程序再次在设备上运行。

问题是,虽然 Organizer 能够看到新配置文件并正常安装它,但 IDE 会混淆旧配置文件和新配置文件。每次我尝试构建应用程序时,它都会立即失败。错误控制台告诉我 Xcode 找不到旧的配置文件,因为列出的 GUID 属于旧的。那很奇怪;我认为 Xcode 现在应该已经知道新的配置文件了。

我已尝试从我的设备和 Mac 中删除新配置文件,然后重新安装该配置文件。不起作用,Xcode 仍在尝试寻找旧的。我也试过选择一个不同的配置文件让 Xcode 忘记旧的,然后选择新的。我什至尝试在Other 选择中手动输入新的 GUID。然而 Xcode 仍然坚持寻找旧的配置文件,现在它已经从我的 Mac 上消失了。

我如何让 Xcode 相信我已经为我的应用生成了新的配置文件供其使用?

最佳答案

tl;dr: 事实证明,我只需手动编辑项目文件即可将新配置文件告知 Xcode。现在,我不知道为什么我必须手动更新项目文件。也许我在将新配置文件导入 Xcode 的过程中做错了什么,所以它没有意识到我的新配置文件已经进来了。或者文件系统中途阻塞,Xcode 无法自行更新。好吧。

现在是有趣的技术部分:

IMPORTANT: As with anything else that involves modifying files you shouldn't be modifying: make sure to back up your .xcodeproj bundle and/or your entire Xcode project, or make sure your Xcode project is kept in proper version control. You don't want to mess up and cause Xcode to stop building your project onto your device, without anything to fall back on.

我查看了我的应用程序的 .xcodeproj 包的内容(此时 Xcode 未运行)。要查看这些,请在 Finder 中打开您的项目文件夹,然后按住 Control 键并单击您的 .xcodeproj 文件并选择 Show Package Contents:

Breeze.xcodeproj/  Daniel.mode1v3  Daniel.pbxuser  project.pbxproj

Then opened project.pbxproj in a text editor (it's text, not binary), and looked around for build configuration information.

There's a section labeled /* Begin XCBuildConfiguration section */ (which you can find using your editor's search function). It's a list of entries, each of which represents a code-signing configuration for a given profile in a given build configuration.

Here's information about the profile I use to sign my binary for development:

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;
};

值得注意的是这一行:

"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";

这是构建错误报告的GUID;我的旧的、过期的配置文件的标识符。

我所要做的就是用新配置文件的 GUID 替换它:

"PROVISIONING_PROFILE[sdk=iphoneos*]" = "E6E6369E-FD58-4886-9C3A-72C9DAE36501";

我再次在 Xcode 中打开我的项目,现在我的应用程序使用新的配置文件成功构建并安装在我的设备上。

关于iphone - Xcode 无法识别我的新配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5291463/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com