我在使用 phonegap 1.2.0 时遇到了同样的问题,但上面的“hack”对我不起作用——它给了我一个错误
ld: file is universal (3 slices) but does not contain a(n) armv7 slice:
因此,我找到了一个更简单的解决方案 - 找到安装 phonegap 并打开它时安装的 PhoneGapLib.xcodeproj,然后搜索“uniqueIdentifier”调用。
然后我使用从这里(https://stackoverflow.com/a/9458313/1851746)获取的以下代码来替换 UUID 值 -
- (NSString *)getUUID
{
NSString *UUID = [[NSUserDefaults standardUserDefaults] objectForKey:@"uniqueID"];
if (!UUID)
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
UUID = [(__bridge NSString*)string stringByReplacingOccurrencesOfString:@"-"withString:@""];
[[NSUserDefaults standardUserDefaults] setValue:UUID forKey:@"uniqueID"];
}
return UUID;
}
使用 [self getUUID] 而不是 uniqueIdentifier 调用此方法是可行的,但由于某种原因,它会导致错误,随后将值添加到 phonegap 版本的字典中。所以我只是把它硬编码在与上面相同的块中。
然后将目标更改为“PhoneGap”,构建,然后转到 Products 文件夹并在 finder 中打开位置,复制 framework 文件夹,并替换在 Users/Shared/PhoneGap/Frameworks 中找到的那个。
项目应编译并被 App Store 接受