我有一个日志应用程序,当前输出CSV作为电子邮件附件。但是,允许用户将所述CSV导入其他设备以共享其日志变得至关重要。
让XCode将CSV注册为我的应用程序读取的格式之一,这有点微不足道。我甚至可以从Mail的“open with ...”启动应用程序。但是,我在Objective C中工作最困难(与我习惯的非常不同...... PHP,JS,AS)。
我需要帮助的是找到一个工作示例,说明如何将从Mail传递的CSV传递到我的应用程序。
在Android中,你可以声明“意图”,甚至还有Cordova插件,比如WebIntent。但对iOS来说没什么。
有什么建议吗?
答案 0 :(得分:0)
//In the app delegate
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if (url != nil && [url isFileURL])
{
[self.myViewController handleCSV:url];
}
return YES;
}
//In myViewController (or what you call it)
-(void)handleCSV:(NSURL *)url
{
NSError *readError;
NSString *csvString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:& readError];
if(csvString && readError==nil)
{
NSArray *csvItems;
NSRange matchComma= [csvString rangeOfString: @","];
NSRange matchSemi= [csvString rangeOfString: @";"];
if(matchComma.location != NSNotFound) csvItems = [csvString componentsSeparatedByString: @","];
else if(matchSemi.location != NSNotFound) csvItems = [csvString componentsSeparatedByString: @";"];
}else
{
NSLog(@"error %@", readError);
}
}