我安装了今天发布的iOS 4.1.
我从AppStore将我的应用程序下载到手机并运行它,它无法获得GPS位置.
我下载了新的XCode和4.1 SDK并在4.1下重新编译,app在4.1 IPhone上工作正常.
没有代码被更改.
为什么4.0下编译的应用程序不能在4.1下运行.
BASE SDK是4.0
IOS DEPLOYMENT TARGET:iOS 4.0
新设置
BASE SDK是4.1
IOS DEPLOYMENT TARGET:iOS 4.0
有点恼火,我需要重新提交,即使我没有改变任何东西……另一周的黑洞应用程序提交!
在尝试部署到App Store并尝试解剖项目文件后,我发现了以下内容:
BUILD和TARGET的部署目标不同
并且base sdk仅在Target中的Debug中设置
我让调试/发布在我的手机上工作,因此推测如果relelase和Distribution有相同的设置应该在App Store中工作.
但即使在设置并重新部署到appstore后,它也无法正常工作(app加载且没有GPS).
我尝试删除配置文件但不起作用.
隔夜电话失去电源,当我重新启动应用程序正在工作.
所以不确定它是否是所有3的奇怪组合.
iOs Deployment Target (IPHONEOS_DEPLOYMENT_TARGET = 4.0;): iOS 4.0
BASE SDK(SDKROOT = iphoneos4.1;): iOS 4.1
for BUILD (Debug/Release/Distribution) (Right click on top level in tree YourApp >> Info menu)
and TARGET (Debug/Release/Distribution) (Right click on Target >> YourApp >> Info menu)
将应用程序在4.0上发布到应用商店.
4.1发布
升级了我的应用以进行检查.
应用程序运行正常,但未能在多个屏幕中获得GPS.
在4.1下重新编译它,没有代码更改,发布到存储,仍然无法正常工作.
调试版在4.1上运行正常
发布没有
分发(来自应用程序商店的版本)版本没有.无法获得GPS.
解析项目文件,看看有什么不同.
发现了
目标和构建设置不相同.
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
已设置为BUILD for Debug / Release and Distribution
但
对于TARGET,它被设置为DEBUG
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
并且在RELEASE和DEBUG中根本没有设置
我删除了构建目录并设置了
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
for BUILD (Debug/Release/Distribution) (Right click on top level in tree YourApp >> Info menu)
and TARGET (Debug/Release/Distribution) (Right click on Target >> YourApp >> Info menu)
重建
发布版本现在工作,所以不得不希望在Distribution中设置相同的工作.
发布到应用程序商店.两次都被批准了2天.
试了一下.应用程序运行但没有GPS.
试图删除配置文件,没有运气.
隔夜电话失去了电力,所以重启.
尝试了应用程序,它工作.
也许吧
要自己检查一下.
将YourApp.xcodeproj复制到安全位置.
不再重命名这样的扩展名.xcodeproj
这成为一个文件夹.
打开,它将有3个文件
构建设置位于project.pbxproj中
滚动到底部:
寻找
/ *开始XCConfigurationList部分* /
请注意,有两个部分用于构建,一个用于目标
/* Build configuration list for PBXNativeTarget
...
/* Build configuration list for PBXProject
如果您已完成分发构建,则每个分区都将具有“调试/发布和分发”设置
1D6058940D05DD3E006BFB54 /* Debug */,
1D6058950D05DD3E006BFB54 /* Release */,
C55BCF5811ADCA470050ABDB /* Distribution */,
24位十六进制数字指向文件中的更高部分.
如果您将3个部分(并排放在桌子中)放置,您可以看到差异.
只有差异
TARGET(调试,发布和分发)
1D6058940D05DD3E006BFB54 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
....
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
....
};
name = Debug;
};
未设置为发布/分发
BUILD(设置为Debug / Release / Distribution)
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
SDKROOT = iphoneos4.1;
最佳答案 嘿,这又是我.我在多个论坛上回复你.
你有没有机会使用这个已弃用的getDistanceFrom:方法?它可能是罪魁祸首,虽然你希望它在XCode和Appstore之间工作或不一致:/
更新:删除这个已弃用的方法并没有解决我的问题:-(