我试图了解iOS应用程序的AppID的第一部分的作用.此部分以前称为"Bundle Seed ID",但现在通常称为AppID Prefix.
不久之前(iOS 5?),Apple对其门户网站和文档进行了一些更改,并开始建议使用"团队ID"(每个开发者帐户唯一)作为AppID前缀.对于拥有新应用的新开发人员来说,这很简单明了.
但是,处理与AppID前缀有关的现有应用程序的最佳做法是什么?我知道在两个应用程序版本之间无法更改BundleID(= AppID的第二部分),但更改应用程序版本之间的前缀是否安全?
请注意,我并不是指将"通配符AppID"(例如ABC1234567.*)替换为使用相同前缀的显式AppID,例如ABC1234567.com.mycompany.myapp.有大量关于此的信息(但大部分已过时).我正在考虑通过用我的团队ID替换前缀来改变现有应用程序的完整AppID,例如ABC1234567.com.mycompany.myapp,例如DEF7654321.com.mycompany.myapp.
我想我已经在某处读过,应该可以更改现有应用程序的前缀,除非应用程序使用钥匙串存储数据的特殊情况除外.如果是这样,处理现有应用程序前缀的最简单方法是在发布下一次更新时迁移到新的团队ID.当我的所有应用程序都被迁移后,我可以继续使用团队ID(正如Apple推荐的新应用程序),最后忘记所有这些混乱. 谁能证实这一点?
如果你可以更多地了解AppID前缀的概念,以及它在iOS设备上实际使用的内容(除了我已经知道的钥匙链),如果你能写评论我会很高兴.也许我们可以通过添加来自不同来源的零碎来建立对此的充分理解.可悲的是,这方面的Apple文档很薄.
(还有一个类似的问题:我可以在批准后更改我的应用程序中的Bundle Identifier吗?但这主要是关注BundleID,即AppID的第二部分,所以这不是重复的,即使有些答案和评论涉及这个主题.)
我正在从iTunes Connect删除应用程序,以便将其重新上传到新公司的新帐户中。
从iTunes Connect开发人员指南中,我了解到只要从另一个帐户(而不是原始帐户)完成应用名称,就可以重复使用该应用名称。但是Bundle ID和SKU呢?它们也可以重复使用吗?还是我应该创建一个新的独特的?
在我的情况下,新公司将使用与旧公司相同的URL,因此当我询问Bundle ID时,我指的是完整的Bundle ID,包括“ com.company”部分。
我想弄清楚Swift中最后一行是否有更短的语法:
var startPosition: CLLocationCoordinate2D?
var latitude: Double?
var longitude: Double?
// ...
// Here I have skipped some code which may or may not assign values
// to "latitude" and "longitude".
// ...
if latitude != nil && longitude != nil {
startPosition = CLLocationCoordinate2DMake(latitude!, longitude!)
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我想基于"纬度"和"经度"设置"startPosition",如果已经分配了这些值.否则,我接受"startPosition"将不会被初始化.
我想这可能是"如果让"或类似的东西,但我没有弄清楚如何.(我在Objective-C方面很有经验,但刚刚开始学习Swift.)