我在静态库中加入了第三方库(来源)。它只用于设备(因为它包含一些ARM程序集例程),我不希望为模拟器构建它(我只是希望我的应用程序在那里编译,所以我可以测试GUI)。
我正在寻找一种方法(类似于源文件中的#if(TARGET_OS_IPHONE)),它可以从IDE本身工作(因此我可以根据我的目标架构从实际构建过程中排除文件)。我发现的唯一一个选项是从目标中排除/包含文件 - 但不是针对特定的体系结构。
有没有办法为每个特定文件设置架构条件?
答案 0 :(得分:1)
您最好的选择是将第三方库分成一个新目标,将其构建为静态框架。将其设置为项目的依赖项,然后将静态框架设置为有条件地链接,如Apple所述:http://developer.apple.com/library/ios/documentation/Xcode/Conceptual/ios_development_workflow/115-Configuring_Applications/configuring_applications.html#//apple_ref/doc/uid/TP40007959-CH19-SW7
您可以通过在项目导航器中选择项目然后点击编辑器窗格底部的添加目标按钮来添加新目标。您可以设置cocoa touch静态库,然后将相关的.m或.c文件指定为仅属于该目标。然后选择应用程序的目标并在Build Phases选项卡的“Target Dependencies”部分添加静态框架。
答案 1 :(得分:0)
您可以使用基于SDK的@client.event
async def on_guild_channel_create(channel): #sends a message everytime a new channel is created
await channel.send("It's a new channel!") #sends your message to a new channel that was created
有条件地在Xcode中包括/排除文件。例如:
EXCLUDED_SOURCE_FILE_NAMES
有关更多详细信息,请参见Conditional Compilation文章