我创建了一个C ++(静态)库libFoo.a
。
我希望在XCode中创建一个使用此库的iOS ObjC应用程序。
我希望两个项目并排进行。这样我就可以修改库代码,重新运行消费者应用程序,它将自动重建库。
我还需要能够单步执行库代码。
.a
的存在?
它正在建设:/Users/pi/Library/Developer/Xcode/DerivedData/Foo-eedjtiwaewussebwzhplgqpllrnx/Build/Products/Debug-iphonesimulator/libFoo.a
如果我将其硬编码到消费者手中,这会给另一个克隆我的代码的开发人员带来麻烦吗?
有没有'正确的方法'(TM)来做到这一点?也许建立到一个固定的位置,并使用相对路径......编辑:备注:
myLib.xcodeproj
成为项目导航器中consumer.xcodeproj
的子节点consumer.xcodeproj
建立阶段qazxsw poi
...目标依赖性qazxsw poi {add ->
}
...链接二进制文件库->
“+”->
{“添加工作区”myLib.xcodeproj
->
}1)是的,使用工作区。这样做有很多好处。如果您独立于工作区打开项目,并且一个项目(您的库项目)也包含在另一个项目(您的应用程序项目)中,Xcode将不会在第二次实际打开它。工作区要好得多,因为您可以根据需要构建库,同时保持应用程序项目,或运行库的单元测试。您可能还需要基于该库的更多应用程序。他们将所有工作都与您的图书馆一起调用,您可以设置构建其中任何一个的方案(实际上是任何组合,甚至)。
2a)从应用程序的项目中删除对库的引用。
2b)然后将库项目文件添加到应用程序的项目中(在项目导航器中)。在此步骤中,请勿选择“根据需要复制项目”,并且不要选择任何项目的目标。按“完成”按钮。
2c)单击应用程序项目并转到Build Phases。单击您希望库成为依赖项的应用程序目标(在目标列表中)(我假设它是您的主应用程序目标,而不是您的应用程序的扩展目标等)。单击目标依赖项中的+按钮部分。在列表中选择您图书馆的产品。
2d)验证在Link Binary With Libraries部分中,您的库在那里。如果没有,我发现你可以将它从项目导航器直接拖到这一部分。
3)所以我假设你把你的应用程序和库一起发送,是吗?开发人员会看到两个目录作为对等,一个用于库,一个用于应用程序?库目录包含与库有关的所有代码和项目文件,app目录包含应用程序的所有代码和项目文件。工作区通常位于两个目录之外。包括一个README文件,解释开发人员应该如何将您的库添加到他们自己的应用程序项目,虽然我上面描述的是非常典型的,不会让任何人感到惊讶。