如何在应用程序中从Xcode的“支持文件”组中访问文件?

时间:2011-10-07 11:09:26

标签: ios xcode filesystems attachment

我有一个应用程序,我现在几乎完成了电子邮件,在数据输入流程结束时,两个.pdf文件。其中一个是从输入的数据生成的,另一个是静态文件,在每个实例中都是相同的。

第一个pdf生成正常,它保存到应用程序'文档'文件夹,我已成功附加到电子邮件发送。这是第二个.pdf,我在应用程序外部做的一个,我试图添加,这让我感到悲伤。

我已将它添加到我的Xcode项目中的“Supporting Files”文件夹中,但经过大量搜索和其他在线搜索,我无法弄清楚如何访问该文件以便能够将其添加为电子邮件中的附件。 从Xcode中的管理器“下载”应用程序的数据后,我可以看到该文件不在任何地方;大概是因为Xcode可以看到文件没有在任何地方使用,它不是在构建时添加它(我非常假设),但我不知道如何在任何地方引用它因为我不知道在哪里它会引用它!

3 个答案:

答案 0 :(得分:9)

Xcode不会在您的应用包中生成与群组对应的任何文件夹。只需确保您的pdf存在于目标的Build Phases中的Copy Bundle Resources中。然后,您可以在[[NSBundle mainBundle] bundlePath]路径下访问您的资源。

答案 1 :(得分:3)

如果您想访问图像,此代码是一个很好的示例,如下所示:

NSString* imageName = [[NSBundle mainBundle] pathForResource:@"image1" ofType:@"png"];
NSImage* imageObj = [[NSImage alloc] initWithContentsOfFile:imageName];

答案 2 :(得分:0)

在Swift中,您可以使用以下函数获取bundle-resorce-path:

from sklearn.svm import SVC
from sklearn.grid_search import GridSearchCV
from sklearn.cross_validation import KFold
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn import datasets
import numpy as np

newsgroups = datasets.fetch_20newsgroups(
                subset='all',
                categories=['alt.atheism', 'sci.space']
         )
X = newsgroups.data
y = newsgroups.target

TD_IF = TfidfVectorizer()
y_scaled = TD_IF.fit_transform(newsgroups, y)
grid = {'C': np.power(10.0, np.arange(-5, 6))}
cv = KFold(y_scaled.size, n_folds=5, shuffle=True, random_state=241) 
clf = SVC(kernel='linear', random_state=241)

gs = GridSearchCV(estimator=clf, param_grid=grid, scoring='accuracy', cv=cv)
gs.fit(X, y_scaled) 
相关问题